2ools
REMOTE · 2OOLS.APP · SCANNED SEP 21
Build, version, review, and export websites, web apps, and games from a conversation.
Available components
Recent critical change
Authorization (15 Aug 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (attach_project_engine_workspace). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 8705 tokens (~95/item across 91 items; 81 tools + 10 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management99
- Stability check failed: schema churn in the 30 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 16 additions. See how to fix → Fail
Tool Coverage82
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 46% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 83 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
How do I install the 2ools MCP server?
2ools is a hosted endpoint at https://2ools.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · 2ools.app
claude mcp add --transport http app-2ools-mcp 'https://2ools.app/mcp'
{
"mcpServers": {
"app-2ools-mcp": {
"url": "https://2ools.app/mcp"
}
}
} {
"servers": {
"app-2ools-mcp": {
"type": "http",
"url": "https://2ools.app/mcp"
}
}
} [mcp_servers.app-2ools-mcp] url = "https://2ools.app/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"app-2ools-mcp": {
"type": "remote",
"url": "https://2ools.app/mcp",
"enabled": true
}
}
} openclaw mcp add app-2ools-mcp --url 'https://2ools.app/mcp' --transport streamable-http
mcp_servers:
app-2ools-mcp:
url: "https://2ools.app/mcp" {
"McpServers": {
"app-2ools-mcp": {
"Transport": "http",
"Url": "https://2ools.app/mcp"
}
}
} assistant mcp add app-2ools-mcp -t streamable-http -u 'https://2ools.app/mcp'
{
"mcpServers": {
"app-2ools-mcp": {
"type": "http",
"url": "https://2ools.app/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 29 Aug 26 0
- Resource “2ools project continuity” now points somewhere else: ui://2ools/project-continuity-v8.html → ui://2ools/project-continuity-v9.html security
- New resource “2ools project continuity v8 compatibility alias” functional
- Tool “continue_project” changed its title: Continue a project with 2ools → 2ools · Continue Project OS cosmetic
- 27 Aug 26 0
- A breaking change shipped without a version bump: still 0.5.0 ▼ security
- Tool “configure_project_agent_mode” rewrote its description, which is the text the model reads security
- “configure_project_agent_mode” added a required parameter “expected_revision”, so existing callers break ▼ functional
- “configure_project_agent_mode” added a required parameter “idempotency_key”, so existing callers break ▼ functional
- “configure_project_agent_mode” reworded the description of “include_approved_plan” cosmetic
- 26 Aug 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +1
- Resource “2ools project continuity” now points somewhere else: ui://2ools/project-continuity-v5.html → ui://2ools/project-continuity-v6.html security
- New resource “2ools project continuity v5 compatibility alias” functional
- “build_from_conversation” added an optional parameter “create_separate_project” cosmetic
- “start_project_on_engine” added an optional parameter “create_separate_project” cosmetic
- 24 Aug 26 0
- A breaking change shipped without a version bump: still 0.5.0 ▼ security
- Resource “2ools project continuity” now points somewhere else: ui://2ools/project-continuity-v4.html → ui://2ools/project-continuity-v5.html security
- Tool “get_account_profile” rewrote its description, which is the text the model reads security
- Tool “list_projects” rewrote its description, which is the text the model reads security
- Tool “register_existing_project” rewrote its description, which is the text the model reads security
- “cancel_agent_run” added a required parameter “confirm”, so existing callers break ▼ functional
- New resource “2ools project continuity v4 compatibility alias” functional
- New tool “dispatch_project_work” functional
- New tool “get_project_work_dispatch” functional
- 23 Aug 26 78
- New tool “attach_project_engine_workspace”, which the server declares destructive security
- New tool “remove_project_member”, which the server declares destructive security
- New tool “revoke_project_invite”, which the server declares destructive security
- New tool “update_project_member_role”, which the server declares destructive security
- Tool “list_connected_engines” rewrote its description, which is the text the model reads security
- Schema quality: 6668 → 7433 ▼ functional
- New tool “get_account_profile” functional
- New tool “get_project_access” functional
- New tool “get_project_engine_workspace” functional
- New tool “invite_project_member” functional
- New tool “update_account_profile” functional
- 22 Aug 26 0
- Stability: 0.83 → fail ▼ security
- A breaking change shipped without a version bump: still 0.5.0 ▼ security
- Resource “2ools project continuity” now points somewhere else: ui://2ools/project-continuity-v2.html → ui://2ools/project-continuity-v4.html security
- Resource “2ools project continuity compatibility alias” now points somewhere else: ui://2ools/project-continuity-v1.html → ui://2ools/project-continuity-v2.html security
- New tool “answer_project_engineering_decision”, which the server declares destructive security
- Tool “act_on_project_os_task” rewrote its description, which is the text the model reads security
- Tool “cancel_build” rewrote its description, which is the text the model reads security
- Tool “act_on_project_os_task” is now declared destructive security
- Schema quality: 5678 → 6668 ▼ functional
- “cancel_build” added a required parameter “confirm”, so existing callers break ▼ functional
- “cancel_build” added a required parameter “reason”, so existing callers break ▼ functional
- New resource “2ools project continuity legacy compatibility alias” functional
- New resource “2ools project continuity v3 compatibility alias” functional
- New tool “get_engine_dispatch” functional
- New tool “list_connected_engines” functional
- New tool “list_project_engineering_decisions” functional
- New tool “refresh_project_cockpit” functional
- New tool “start_project_on_engine” functional
- 21 Aug 26 0
- Resource “2ools project continuity” now points somewhere else: ui://2ools/project-continuity-v1.html → ui://2ools/project-continuity-v2.html security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “continue_project” rewrote its description, which is the text the model reads security
- New resource “2ools project continuity compatibility alias” functional
- New tool “act_on_project_os_task” functional
- New tool “activate_project” functional
- New tool “register_existing_project” functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Probed https://2ools.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=2ools.app | CN=YE2,O=Let's Encrypt,C=US | 28 Jul 2026 | 26 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 6d63a2495bef378a551046311f5f61bbe72 |
| SANs: 2ools.app | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of 2ools.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| 2ools.app. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' https://js.stripe.com https://telegram.org; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https:; font-src 'self' data: https://fonts.gstatic.com; connect-src 'self' https: wss: http://127.0.0.1:43127; frame-src 'self' blob: https:; worker-src 'self' blob:; media-src 'self' data: blob: https:; manifest-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=(), usb=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://2ools.app/mcp | Verified | 200 | |
| http (plaintext) | http://2ools.app/mcp | HTTPS enforced | 301 | https://2ools.app/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
list_project_pins List workspace pins ~32
Read shared workspace notes and http(s) links, with explicit attribution.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | – |
No output schema declared.
No examples provided.
list_projects List 2ools projects ~65
Open the native Project OS entry point and list recent 2ools projects the authenticated account can access. The app automatically continues the only saved project or shows an inline chooser when several projects are available. Returns compact metadata without generated source.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum projects to return. |
No output schema declared.
No examples provided.
list_work_assignments List project work assignments ~42
List durable project work contracts, bounded attempts, leases, budgets, and result references.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | – |
| status | string | – | – |
No output schema declared.
No examples provided.
manage_project_discipline Record Project Discipline evidence ~75
Propose a project trade-off, version an eval case or verifier definition, or attach an eval/verifier receipt to exact work. Agents may propose decisions but cannot accept their own proposals; verifier definitions describe external evidence and never execute arbitrary code on 2ools.
| Name | Type | Req | Description |
|---|---|---|---|
| change | – | yes | – |
| project_id | string | yes | – |
No output schema declared.
No examples provided.
manage_work_watchdog Manage Project OS Watchdog coordination ~73
Pause, park, resume, or reprioritize one durable task, or deliberately configure the project Watchdog. This never answers for the user, approves a risky action, deploys, spends, sends externally, deletes data, or widens authority.
| Name | Type | Req | Description |
|---|---|---|---|
| change | – | yes | – |
| project_id | string | yes | – |
No output schema declared.
No examples provided.
prepare_artifact_download Prepare exact artifact download ~55
Create a five-minute download URL for one immutable artifact version. Stored bytes never enter MCP model output.
| Name | Type | Req | Description |
|---|---|---|---|
| artifact_id | string | yes | – |
| artifact_version_id | string | yes | – |
| project_id | string | yes | – |
No output schema declared.
No examples provided.
prepare_artifact_upload Prepare reviewed artifact upload ~136
Create a five-minute PUT URL for exact bytes. External-agent output always enters pending review and never replaces the current artifact version before approval.
| Name | Type | Req | Description |
|---|---|---|---|
| artifact_id | string | – | Existing artifact to version. Omit when creating a new artifact. |
| byte_size | integer | yes | – |
| filename | string | yes | – |
| kind | string | yes | – |
| media_type | string | yes | – |
| name | string | yes | – |
| parent_version_id | string | – | Required latest version id when updating an existing artifact. |
| project_id | string | yes | – |
| review_note | string | – | – |
| sha256 | string | yes | – |
No output schema declared.
No examples provided.
prepare_version_export Prepare portable version export ~52
Create a five-minute download URL for an exact saved version. Source is delivered by the download route, never embedded in MCP model output.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | – |
| version_id | string | yes | – |
No output schema declared.
No examples provided.
prepare_work_handoff Prepare a bounded task handoff ~102
Checkpoint one owned session into an immutable, exactly-once successor envelope. Estimated signals are labeled as estimates; questions and possibly committed effects stay paused for a person.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | yes | – |
| reason | string | – | – |
| remaining_context_tokens | integer | – | – |
| request_handoff | boolean | – | – |
| session_id | string | yes | – |
| signal_kind | string | – | – |
| signal_label | string | – | – |
No output schema declared.
No examples provided.
refine_project Refine a 2ools project ~158
Create one protected child version from a saved base version and concrete review feedback. Preserves the base source as currentCode, consumes one persisted project iteration, and returns an asynchronous job_id.
| Name | Type | Req | Description |
|---|---|---|---|
| base_version_id | string | yes | Authoritative saved version to use as the parent and current source. |
| feedback | string | yes | Specific requested changes. Requirements not explicitly changed remain in force. |
| idempotency_key | string | yes | Unique retry key. Reuse returns the original revision job without consuming another iteration. |
| model | string | – | Generation engine for this child revision. Studio safely preserves the parent but cannot apply substantive edits; choose an AI model or linked Engine for real revisions. |
| project_id | string | yes | Project containing the saved base version. |
No output schema declared.
No examples provided.
refresh_project_cockpit Refresh the open 2ools Project Cockpit ~65
Refresh the bounded project state shown inside an already-open 2ools MCP App. This app-only read does not start work, import files, or change the project.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Readable 2ools project ID already open in the MCP App. |
No output schema declared.
No examples provided.
register_existing_project Register an existing project ~273
Create one durable Project OS record for a local or external project that list_projects did not match. When the canonical project ID is already known, pass existing_project_id and that exact record is reused. Otherwise an exact normalized name match is reused instead of duplicated, even with a new idempotency key. Call only after the person approves the proposed name, goal, current state, decisions, and next step. This never reads or uploads local files and never starts a build.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | string | yes | Explicit confirmation that the person approved this proposed record. |
| current_state | string | yes | Approved factual summary of where the project stands now. |
| decisions | array | – | Approved decisions that future work must preserve. |
| existing_project_id | string | – | Known canonical project ID from list_projects or a Project OS URL. Passing it prevents creation and reuses that exact accessible project. |
| goal | string | yes | Approved outcome or mission for the existing project. |
| idempotency_key | string | yes | Caller-generated unique key. Reusing it returns the original project instead of creating a duplicate. |
| next_step | string | yes | Approved next useful step. |
| output_target | string | – | What the existing project ultimately produces; use freeform when it is not a build artifact. |
| project_name | string | yes | Approved project name. |
No output schema declared.
No examples provided.
reject_artifact_version Request artifact changes ~45
Reject one pending immutable artifact version with useful feedback. Repeating the same decision is idempotent.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | yes | – |
| request_id | string | yes | – |
No output schema declared.
No examples provided.
reject_version Reject a 2ools version ~93
Use separately delegated review authority to reject one saved version. If it is active, restores its saved parent as active; the rejected version remains in immutable history.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmation | string | yes | Explicit rejection confirmation. |
| decision_note | string | yes | Review feedback explaining what the next child revision should change. |
| project_id | string | yes | Project containing the candidate version. |
| version_id | string | yes | Saved candidate version to reject. |
No output schema declared.
No examples provided.
remove_project_member Remove project member ~73
Remove one exact member's project access after explicit confirmation. Their account and authored history stay; active project builds are canceled and armed project agents are paused.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Explicit confirmation to remove this exact member from this exact project. |
| member_id | string | yes | – |
| project_id | string | yes | – |
No output schema declared.
No examples provided.
remove_project_pin Remove workspace pin ~38
Remove one shared workspace pin. The operation is idempotent.
| Name | Type | Req | Description |
|---|---|---|---|
| pin_id | string | yes | – |
| project_id | string | yes | – |
No output schema declared.
No examples provided.
render_project_preview Show 2ools project preview ~83
Render an interactive, read-only card for one saved 2ools version. Use after get_build or get_project when the user wants to see, open, or share the result. Returns protected preview and access-checked workspace links without source code.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Project containing the saved version. |
| version_id | string | yes | Saved version to display. |
No output schema declared.
No examples provided.
resolve_project_feedback Resolve project feedback ~46
Owner-only review decision that resolves or reopens one saved feedback item.
| Name | Type | Req | Description |
|---|---|---|---|
| feedback_id | string | yes | – |
| project_id | string | yes | – |
| resolved | boolean | – | – |
No output schema declared.
No examples provided.
review_project_mission Review or restore Project Mission evidence ~55
Restore an immutable Mission or Goal revision, decide a proposed scope change, or submit proof-based goal completion review. Completion and high-risk authority remain server-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| change | – | yes | – |
| project_id | string | yes | – |
No output schema declared.
No examples provided.
revoke_project_invite Revoke project invitation ~58
Revoke one exact pending project invitation after explicit confirmation. The person can no longer accept that invitation; project history remains auditable.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Explicit confirmation to revoke this exact invitation. |
| invite_id | string | yes | – |
No output schema declared.
No examples provided.
revoke_version_share_link Revoke exact version share link ~61
Disable every existing public or code-protected URL for one exact saved version. Re-publishing a protected link rotates its code.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | yes | – |
| project_id | string | yes | – |
| version_id | string | yes | – |
No output schema declared.
No examples provided.
run_project_agent Run an armed project Agent ~155
Queue real execution for a project-linked Agent the person already test-ran and armed. The immutable saved Limits, project access, account fuse, and online Engine requirement are enforced server-side before a job exists.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | Already-armed 2ools Agent ID. |
| idempotency_key | string | yes | Caller-generated unique key. Reusing it returns the original run instead of starting another. |
| model | string | yes | CLI model available through the account's online Engine. |
| project_id | string | yes | Project this Agent is assigned to. |
| task | string | yes | Concrete task for this run. This cannot widen the Agent's saved tools, folders, network, send, change, or spend authority. |
No output schema declared.
No examples provided.
run_task_quality_gate Run or settle a task Quality Gate ~56
Start checks against exact task/artifact/environment fingerprints, or submit every configured check with same-project evidence and explicit findings. Missing routes, stale proof, failed checks, and open findings cannot become a false pass.
| Name | Type | Req | Description |
|---|---|---|---|
| change | – | yes | – |
No output schema declared.
No examples provided.
start_project_on_engine Start project on selected computer ~441
Create one new 2ools project and queue its first build on one exact connected Engine and provider selected by the person. Fails before project creation or queueing when that Engine is offline, busy, missing the provider, or lacks the protocol. Never falls back to hosted, server, Studio, or another computer.
| Name | Type | Req | Description |
|---|---|---|---|
| audience | string | – | Primary audience and the job they need to complete. |
| content_constraints | array | – | Claims, wording, exclusions, or fidelity constraints the build must obey. |
| conversation_summary | string | yes | Factual build brief distilled from the conversation, including the intended artifact and key decisions. |
| create_separate_project | boolean | – | Set true only when the person explicitly wants a distinct project that intentionally shares an existing project's name. Changing AI providers is not a reason. |
| creative_system_id | string | – | Optional account-created creative system ID returned by list_build_systems. |
| engine_id | string | yes | Opaque exact Engine identity returned by list_connected_engines. |
| entity | object | – | Grounded identity facts that must survive the build. |
| headline | string | – | Exact hero headline to preserve verbatim in the generated site. |
| idempotency_key | string | yes | Caller-generated retry key. Reuse returns the original project and dispatch receipt. |
| max_iterations | integer | – | Hard project cap for later outside-agent child revisions. |
| operating_rules_id | string | – | Optional account-created operating rules ID returned by list_build_systems. |
| output_target | string | – | Delivery target: site, browser game, desktop wrapper, embeddable component, floating overlay, or standalone HTML. |
| pages | array | – | Pages to generate. Use Home for a one-page site or widget. |
| project_name | string | yes | Short name for the new 2ools project. |
| protocol | string | yes | Exact Engine dispatch protocol returned by list_connected_engines. |
| provider | string | yes | Exact provider CLI already authenticated on the selected Engine. |
| requirements | array | – | Concrete functionality, content, and section requirements. |
| visual_direction | string | – | Desired visual character, composition, color, typography, or references. |
No output schema declared.
No examples provided.
submit_work_session Submit work for review ~112
End the authenticated worker's lease and submit typed result references for a separate review decision.
| Name | Type | Req | Description |
|---|---|---|---|
| cached_input_tokens | integer | – | – |
| idempotency_key | string | yes | – |
| input_tokens | integer | – | – |
| model_calls | integer | – | – |
| output_refs | array | – | – |
| output_tokens | integer | – | – |
| result_summary | string | yes | – |
| session_id | string | yes | – |
| used_spend_cents | integer | – | – |
| used_steps | integer | – | – |
No output schema declared.
No examples provided.
update_account_profile Update 2ools account profile ~120
Update only the explicitly supplied profile fields for the authenticated person. This cannot change email, password, MFA, billing, entitlements, roles, or account-deletion state.
| Name | Type | Req | Description |
|---|---|---|---|
| bio | string | – | – |
| default_location | string | – | – |
| display_name | string | – | – |
| job_title | string | – | – |
| locale | string | – | – |
| preferred_audience | string | – | – |
| profile_use_cases | array | – | – |
| timezone | string | – | – |
| username | string | – | – |
| website | string | – | – |
No output schema declared.
No examples provided.
update_living_plan Update a project's Living Plan ~72
Add, edit, move, or reorder open Living Plan items from the current conversation, then return the refreshed inline plan and timeline panel. This cannot mark returned work complete; completion remains a separate evidence-backed review decision.
| Name | Type | Req | Description |
|---|---|---|---|
| change | – | yes | – |
| project_id | string | yes | Editable 2ools project ID. |
No output schema declared.
No examples provided.
update_project_intelligence Preserve frontier Product Intelligence ~85
Initialize or append one immutable, validated dossier revision. The complete snapshot must cite material claims, preserve unknowns, finish or explicitly block all six lanes before synthesis, include a reproducible saturation audit, and pass falsification/output gates. Revision conflicts require a reread; no source retrieval is fabricated by this tool.
| Name | Type | Req | Description |
|---|---|---|---|
| change | – | yes | – |
| project_id | string | yes | – |
No output schema declared.
No examples provided.
update_project_member_role Change project member access ~92
Change one exact member to collaborator or viewer, or transfer ownership. Requires explicit confirmation because demotion cancels that member's active builds and pauses armed project agents, while ownership transfer changes the current owner's authority.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Explicit confirmation for this exact member, project, and role. |
| member_id | string | yes | – |
| project_id | string | yes | – |
| role | string | yes | – |
No output schema declared.
No examples provided.
update_project_mission Author a Project Mission or Goal Stack change ~56
Create or revise Mission and Goal contracts, explicitly transition or reorder goals, or propose a scope change. Server role, revision, conflict, and safety policy remain authoritative.
| Name | Type | Req | Description |
|---|---|---|---|
| change | – | yes | – |
| project_id | string | yes | – |
No output schema declared.
No examples provided.
wait_for_project_activity Wait for new 2ools project activity ~126
Wait up to 20 seconds for attributable project events newer than a head_cursor or prior next_cursor. Returns events oldest-first so an outside agent can process them in order. If resync_required is true, paginate get_project_activity instead of advancing the cursor.
| Name | Type | Req | Description |
|---|---|---|---|
| after_cursor | string | yes | Opaque head_cursor from get_project_activity or next_cursor from a prior wait. |
| limit | integer | – | Maximum new events to return. |
| project_id | string | yes | 2ools project ID. |
| timeout_seconds | integer | – | Maximum time to wait before returning timed_out=true. |
No output schema declared.
No examples provided.
What is the 2ools MCP server?
2ools is an MCP server listed in the public MCP registry as app.2ools/mcp. Build, version, review, and export websites, web apps, and games from a conversation. This page covers its hosted endpoint (https://2ools.app/mcp).
Is the 2ools MCP server safe to use?
2ools scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the 2ools MCP server expose?
2ools exposes 81 tools: create_public_preview, list_build_systems, list_connected_engines, get_project_engine_workspace, attach_project_engine_workspace, and 76 more. Their descriptions and schemas cost roughly 7,867 tokens of context every time the server is loaded.
Does the 2ools MCP server require authentication?
No. We connected to 2ools without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the 2ools MCP server still maintained?
2ools is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.