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 →
act_on_project_os_task Act on a Project OS task ~62
App-only route for an authenticated person's explicit click in the native Project OS panel. Hidden from the model; every action is revision checked and idempotent, and cancellation requires an explicit confirmation.
| Name | Type | Req | Description |
|---|---|---|---|
| change | – | yes | – |
| project_id | string | yes | – |
No output schema declared.
No examples provided.
activate_project Use 2ools for this project ~96
Record the person's one-time choice to use this already-connected 2ools client with one exact saved project. Call only after the person approves in the inline card or explicitly in chat. This does not read or import local files and does not start work or a build.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | string | yes | Explicit confirmation from the person to use 2ools for this project. |
| project_id | string | yes | Exact readable 2ools project ID. |
No output schema declared.
No examples provided.
add_project_feedback Add project feedback ~141
Add an attributable review comment to a saved project version. This does not modify source or approve the version.
| Name | Type | Req | Description |
|---|---|---|---|
| comment | string | yes | – |
| idempotency_key | string | yes | Caller-generated retry key. Reusing it returns the original feedback item. |
| label | string | – | – |
| page | string | – | – |
| project_id | string | yes | – |
| reply_to_feedback_id | string | – | Root feedback ID to reply to. Replies inherit the root pin position and cannot be nested. |
| version_id | string | yes | – |
| x | number | – | Horizontal position as a percentage. |
| y | number | – | Vertical position as a percentage. |
No output schema declared.
No examples provided.
add_project_pin Add workspace pin ~105
Add an attributable note or safe http(s) link to the shared project workspace.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | yes | Caller-generated retry key. Reusing it returns the original pin. |
| kind | string | yes | – |
| label | string | – | – |
| project_id | string | yes | – |
| surface | string | – | – |
| url | string | – | – |
| version_id | string | – | – |
| x | number | – | – |
| y | number | – | – |
No output schema declared.
No examples provided.
advance_project_agent_mode Advance project Agent Mode ~72
Idempotently re-evaluate and, when safe, queue the next dependency-ready safe-auto plan step on the project's already approved Agent, Engine, and provider. Running, review, blocked, and approval states never double-dispatch.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Exact project whose saved Agent Mode should advance. |
No output schema declared.
No examples provided.
answer_project_engineering_decision Answer a project engineering decision ~175
Accept or reject one exact native-safe engineering decision at one exact project revision. Requires an explicit confirmation and durable note, enforces project role and high-risk owner policy, rejects revision conflicts, preserves immutable history, and returns an idempotent receipt plus canonical reread. Unknown future response kinds remain in Project OS.
| Name | Type | Req | Description |
|---|---|---|---|
| answer | – | yes | – |
| confirm | boolean | yes | Explicit confirmation that this durable engineering decision should be recorded. |
| decision_id | string | yes | – |
| expected_revision | integer | yes | – |
| idempotency_key | string | yes | – |
| note | string | yes | Durable human rationale recorded in the canonical decision history. |
| project_id | string | yes | – |
| risk_level | string | – | Optional chosen risk classification; high-risk decisions require the project owner. |
| supersedes_id | string | – | – |
No output schema declared.
No examples provided.
approve_artifact_version Approve exact artifact version ~47
Approve one pending immutable artifact version and make it current. Repeating the same decision is idempotent.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | – | – |
| request_id | string | yes | – |
No output schema declared.
No examples provided.
approve_version Approve a 2ools version ~89
Use separately delegated review authority to approve one saved version and make it the project's active version. Does not publish, export, or change project permissions.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmation | string | yes | Explicit approval confirmation. |
| decision_note | string | – | Optional review note stored with the delegated decision. |
| project_id | string | yes | Project containing the candidate version. |
| version_id | string | yes | Saved candidate version to approve. |
No output schema declared.
No examples provided.
attach_project_engine_workspace Attach project source workspace ~159
Owner-authorized attachment of one saved project to one exact opaque workspace on one exact online 2ools Engine. This grants future project work access to real source on that computer, so show the selected computer/workspace and obtain explicit confirmation. It changes no source file and never falls back to another Engine.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Required explicit confirmation after showing the exact computer and workspace. |
| engine_id | string | yes | Exact opaque Engine identity returned by list_connected_engines. |
| expected_revision | integer | yes | Revision returned by get_project_engine_workspace. Use 0 only when no workspace is attached. |
| project_id | string | yes | Exact owned project to attach. |
| workspace_id | string | yes | Exact opaque workspace identity returned for that Engine. |
No output schema declared.
No examples provided.
build_from_conversation Build conversation in 2ools ~420
Create a new 2ools project from a structured conversation brief and queue one durable build. Returns project_id and job_id; use get_build to retrieve completion status and the protected preview.
| 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. Omit for private 2ools selection. |
| 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 unique key. Reusing it returns the original project/job instead of creating a duplicate. |
| max_iterations | integer | – | Hard project cap for later outside-agent child revisions. Defaults to 6 and cannot exceed 12. |
| model | string | – | Generation engine. studio is keyless; other models require an available account provider or linked Engine. |
| operating_rules_id | string | – | Optional account-created operating rules ID returned by list_build_systems. Omit for private 2ools selection. |
| 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. |
| 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.
cancel_agent_run Cancel governed Agent run ~116
Stop one queued or running Agent execution and close its durable run history. Completed, failed, stalled, and already-canceled runs keep their terminal truth.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | Agent that owns the run. |
| confirm | boolean | yes | Confirms the person explicitly chose to stop this exact run. |
| job_id | string | yes | Agent job ID returned by run_project_agent. |
| project_id | string | yes | Project the Agent run belongs to. |
| run_id | string | yes | Agent run ID returned by run_project_agent. |
No output schema declared.
No examples provided.
cancel_build Cancel 2ools build ~111
Cancel one exact queued or running non-Agent 2ools build after named explicit confirmation. Repeating the same cancellation is safe, late Engine results are rejected, completed versions are never deleted, and immutable history remains. Governed Agent execution uses cancel_agent_run.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Explicit confirmation to cancel this exact job_id. |
| job_id | string | yes | Build job ID returned by build_from_conversation. |
| reason | string | yes | Why this exact build should be canceled; stored in the audit receipt. |
No output schema declared.
No examples provided.
checkpoint_work_session Checkpoint bounded project work ~153
End the current lease with a compact continuation checkpoint, or place work in an explicit waiting or blocked state. Ambiguous external effects always wait for reconciliation and are never auto-retried.
| Name | Type | Req | Description |
|---|---|---|---|
| cached_input_tokens | integer | – | – |
| checkpoint | string | yes | – |
| disposition | string | – | – |
| effect_state | string | – | – |
| idempotency_key | string | yes | – |
| input_tokens | integer | – | – |
| model_calls | integer | – | – |
| output_tokens | integer | – | – |
| reason | string | – | – |
| session_id | string | yes | – |
| used_spend_cents | integer | – | – |
| used_steps | integer | – | – |
| waiting_for | string | – | – |
No output schema declared.
No examples provided.
claim_work_assignment Claim bounded project work ~54
Atomically claim one open assignment and receive a five-minute renewable lease plus an immutable budget snapshot.
| Name | Type | Req | Description |
|---|---|---|---|
| assignment_id | string | yes | – |
| idempotency_key | string | yes | – |
| input_refs | array | – | – |
No output schema declared.
No examples provided.
compare_versions Compare 2ools versions ~83
Compare two saved versions in one project without returning source. Reports lineage, review state, page additions/removals, byte sizes, and SHA-256 identity for each page.
| Name | Type | Req | Description |
|---|---|---|---|
| left_version_id | string | yes | Earlier or baseline version ID. |
| project_id | string | yes | Project containing both versions. |
| right_version_id | string | yes | Later or candidate version ID. |
No output schema declared.
No examples provided.
configure_project_agent_mode Configure project Agent Mode ~230
Turn the selected project's governed Agent Mode on or off. When enabled, the person chooses one armed project Agent, one exact Engine, and one provider; only reviewed safe-auto steps in the exact approved plan may advance in dependency order. Limits and approval boundaries are never widened.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Armed Agent assigned to this project. Required when enabling. |
| confirm | boolean | yes | Confirms this project-wide coordination change and exact runner destination. |
| enabled | boolean | yes | Whether Agent Mode should keep advancing approved safe work. |
| engine_id | string | – | Exact connected Engine. Required when enabling. |
| expected_revision | integer | yes | Exact Agent Mode revision shown to the person. Use 0 before the first configuration. |
| idempotency_key | string | yes | Stable operation key reused only when recovering this exact configuration change. |
| include_approved_plan | boolean | – | Compatibility flag. Agent Mode remains limited to steps already reviewed as safe-auto. |
| project_id | string | yes | Exact project to coordinate. |
| provider | string | – | Authenticated provider on the selected Engine. Required when enabling. |
No output schema declared.
No examples provided.
continue_project 2ools · Continue Project OS ~89
Return one project's current Living Plan, next useful move, continuity-readiness gaps, latest evidence, and a compact 2ools-active receipt. Opens a compact status, Continue, and Open Project OS card on MCP Apps hosts; the full Project OS belongs in the host's browser side panel.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Readable 2ools project ID. |
| response_format | string | – | – |
No output schema declared.
No examples provided.
create_public_preview Create free 2ools preview ~123
Turn a complete standalone HTML document already created in this chat into a temporary, read-only 2ools preview. Free and authless; expires after 24 hours. This tool does not generate the page—write the HTML first, then call it.
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | yes | Complete standalone HTML document beginning with <!doctype html> or <html>, including its CSS and JavaScript. |
| idempotency_key | string | yes | Caller-generated retry key. Reuse returns the same preview instead of storing a duplicate. |
| name | string | yes | Short public preview name. |
No output schema declared.
No examples provided.
create_version_share_link Create exact version share link ~79
Create or recover a durable public or code-protected link for one exact saved version. Reusing the idempotency key returns the original result.
| Name | Type | Req | Description |
|---|---|---|---|
| access | string | yes | – |
| idempotency_key | string | yes | – |
| page | string | – | – |
| project_id | string | yes | – |
| version_id | string | yes | – |
No output schema declared.
No examples provided.
create_work_assignment Create bounded project work ~183
Create a durable assignment with acceptance criteria and hard step, time, and spend ceilings.
| Name | Type | Req | Description |
|---|---|---|---|
| acceptance_criteria | array | – | – |
| brief | string | yes | – |
| continuation_mode | string | – | – |
| dependency_ids | array | – | – |
| due_at | string | – | – |
| goal_id | string | – | Active Mission Goal. Required automatically when the project has an active Mission. |
| idempotency_key | string | yes | – |
| max_minutes | integer | – | – |
| max_spend_cents | integer | – | – |
| max_steps | integer | – | – |
| max_tokens | integer | – | – |
| output_surfaces | array | – | – |
| priority | string | – | – |
| project_id | string | yes | – |
| quality_gate_policy | object | – | – |
| required_evidence_kinds | array | – | – |
| title | string | yes | – |
No output schema declared.
No examples provided.
decide_work_assignment Review submitted project work ~58
Complete submitted work or reopen it with useful feedback. Requires separately delegated work-review authority.
| Name | Type | Req | Description |
|---|---|---|---|
| assignment_id | string | yes | – |
| decision | string | yes | – |
| idempotency_key | string | yes | – |
| note | string | – | – |
No output schema declared.
No examples provided.
dispatch_project_work Run Project OS task on selected computer ~263
Reserve one exact revision-checked Project OS task for one armed project Agent, then queue it on one exact online Engine and authenticated provider selected by the person. Queued is not working; the task becomes active only after that Engine atomically claims it. Never falls back to another computer, provider, hosted compute, or a parallel task.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | Already-tested, armed Agent assigned to this project. |
| assignment_id | string | yes | Exact open Project OS task to run. |
| confirm | boolean | yes | Confirms the person explicitly chose this task, Agent, computer, and provider. |
| engine_id | string | yes | Exact online Engine selected from list_connected_engines. |
| expected_revision | integer | yes | Task revision shown to the person. A stale revision is refused. |
| idempotency_key | string | yes | Caller-generated stable key. Reuse returns the same dispatch and cannot duplicate work. |
| note | string | – | Optional owner direction that narrows this run without changing the saved task or Agent Limits. |
| project_id | string | yes | Project that owns both the task and Agent. |
| protocol | string | yes | Exact governed Agent protocol advertised by the selected Engine. |
| provider | string | yes | Exact authenticated provider CLI available on the selected Engine. |
No output schema declared.
No examples provided.
get_account_profile Get 2ools account profile ~45
Read the authenticated person's 2ools profile, current account labels, and server-derived effective MCP scopes. Passwords, private credentials, billing instruments, and provider secrets are never returned.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_agent Inspect a governed 2ools Agent ~70
Read one Agent's saved Limits, trigger, immutable revision summaries, and redacted append-only run traces. Raw prompts, tool arguments, credentials, and source bytes are not returned.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | 2ools Agent ID. |
| run_limit | integer | – | Maximum recent runs to include. |
No output schema declared.
No examples provided.
get_artifact Get artifact history ~48
Read one artifact's immutable version history, provenance, attribution, digests, and review states without returning stored bytes.
| Name | Type | Req | Description |
|---|---|---|---|
| artifact_id | string | yes | – |
| project_id | string | yes | – |
No output schema declared.
No examples provided.
get_build Get 2ools build ~52
Get one build's current status, progress, errors, completed version IDs, and protected preview URLs. Does not return generated source code.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | Build job ID returned by build_from_conversation. |
No output schema declared.
No examples provided.
get_engine_dispatch Get Engine dispatch ~71
Read the authoritative state of one exact Engine dispatch. Queued means accepted but not started; running appears only after the selected Engine atomically claims the lease. Returns claim, heartbeat, failure, and terminal state without client inference.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | Dispatch job ID returned by start_project_on_engine. |
No output schema declared.
No examples provided.
get_project Get 2ools project ~47
Get a 2ools project's brief, selected pages, active version, and compact version history. Does not return generated source code.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | 2ools project ID. |
No output schema declared.
No examples provided.
get_project_access Get project access ~49
Read the authenticated person's role plus the canonical project owner, members, and pending invitations. Non-managers can read active members but never receive pending-invite metadata.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | – |
No output schema declared.
No examples provided.
get_project_activity Get 2ools project activity ~91
Read the attributable project timeline across human work, external MCP agents, builds, versions, feedback, and workspace pins. Actor kind is explicit; an external agent is never presented as the human account that authorized it.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque next_cursor from a prior response. |
| limit | integer | – | Maximum activity items to return. |
| project_id | string | yes | 2ools project ID. |
No output schema declared.
No examples provided.
get_project_agent_mode Get project Agent Mode ~68
Read the project-level autonomous coordination state derived from the canonical Living Plan, governed Agent, and exact Engine destination. Returns progress, current work, next eligible safe step, and the reason the project is running or needs the person.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Exact 2ools project. |
No output schema declared.
No examples provided.
get_project_context Get 2ools project operating context ~155
Read one source-free operating packet: active version metadata, the latest explicitly selected observed project input, review attention, artifact index, work queue, and current activity cursor. Imported input is immutable evidence, not an AI proposal or live filesystem sync; private 2ools skills, prompts, routing, governance text, and generated version source are not returned.
| Name | Type | Req | Description |
|---|---|---|---|
| include_governance_text | boolean | – | Deprecated compatibility flag. It is accepted but ignored; private operating text is never returned. |
| include_project_input_files | boolean | – | Include sanitized observed file contents from the latest explicit project input. Default false keeps the operating packet compact; manifest facts and provenance are always returned. |
| project_id | string | yes | 2ools project ID. |
No output schema declared.
No examples provided.
get_project_discipline Read Project Discipline ~59
Return derived direction, trade-off, evidence, and continuity status with active decisions, eval evidence, verifier definitions, and explicit permission boundaries. Status is computed from authoritative Project OS records, never editable checkboxes.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | – |
No output schema declared.
No examples provided.
get_project_engine_workspace Get project source workspace ~71
Read the privacy-safe Engine workspace attached to one project. Returns only opaque Engine/workspace identity, safe display metadata, live readiness, and a revision. Never returns source, paths, repository URLs, SSH hosts, tokens, or secrets.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Exact saved 2ools project. |
No output schema declared.
No examples provided.
get_project_intelligence Read a project's Product Intelligence ~70
Return the versioned frontier-product research dossier, six parallel lane states, evidence ledger, saturation audits, falsification, concepts, ranked outputs, integrity summary, connector visibility, and a deterministic operating brief. Missing premium access is reported as a gap, never invented.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | – |
No output schema declared.
No examples provided.
get_project_mission Read a project's Mission and Goal Stack ~73
Return a bounded canonical Project Mission view, active Goal Contract, server-derived health, role capabilities, or a paginated goals, templates, scope-change, or history slice.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| limit | integer | – | – |
| project_id | string | yes | – |
| view | string | – | – |
No output schema declared.
No examples provided.
get_project_work_dispatch Get Project OS task dispatch ~120
Read the authoritative queued, claimed, running, approval-paused, or terminal state of one exact governed Project OS task dispatch. Returns bounded progress and lease evidence without prompts, credentials, source, paths, or private model transcripts.
| Name | Type | Req | Description |
|---|---|---|---|
| assignment_id | string | – | Saved Project OS task ID, used to rediscover its latest governed Engine run after app relaunch. |
| idempotency_key | string | – | Original dispatch key, used to recover a receipt after an interrupted response. |
| job_id | string | – | Job ID returned by dispatch_project_work. |
No output schema declared.
No examples provided.
get_task_quality_gate Read a task Quality Gate ~48
Return the current task-bound Quality Gate policy, freshness, deterministic check receipt, and attached findings. A pass never replaces required human visual or approval review.
| Name | Type | Req | Description |
|---|---|---|---|
| assignment_id | string | yes | – |
No output schema declared.
No examples provided.
get_version_share_link Get exact version share link ~53
Read the durable sharing state and current URL for one exact saved version. Disabled shares return no URL.
| Name | Type | Req | Description |
|---|---|---|---|
| page | string | – | – |
| project_id | string | yes | – |
| version_id | string | yes | – |
No output schema declared.
No examples provided.
get_work_handoff Read task context handoff ~46
Return the current immutable context-handoff receipt, exact task lineage, and honestly labeled worker-reported or 2ools-forecast context signal.
| Name | Type | Req | Description |
|---|---|---|---|
| assignment_id | string | yes | – |
No output schema declared.
No examples provided.
heartbeat_work_session Renew a work-session lease ~160
Renew the authenticated worker's active lease without widening its immutable step, time, or spend ceilings.
| Name | Type | Req | Description |
|---|---|---|---|
| cached_input_tokens | integer | – | – |
| checkpoint | string | – | – |
| context_signal_kind | string | – | – |
| context_signal_label | string | – | – |
| effect_state | string | – | – |
| handoff_idempotency_key | string | – | – |
| handoff_reason | string | – | – |
| input_tokens | integer | – | – |
| model_calls | integer | – | – |
| output_tokens | integer | – | – |
| remaining_context_tokens | integer | – | – |
| request_handoff | boolean | – | – |
| session_id | string | yes | – |
| used_spend_cents | integer | – | – |
| used_steps | integer | – | – |
No output schema declared.
No examples provided.
invite_project_member Invite project member ~94
Invite an existing 2ools username or an email address to one owned project as a collaborator or viewer. New-account claim tokens are emailed by 2ools and are never returned through MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| identity | string | yes | Existing 2ools username or invitee email address. |
| project_id | string | yes | – |
| role | string | – | – |
| version_id | string | – | Optional same-project version for activation attribution. |
No output schema declared.
No examples provided.
list_approval_requests List 2ools approval requests ~56
List exact saved versions waiting for a separately delegated reviewer. Returns project/version identity and attribution, never generated source.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum approval requests to return. |
| status | string | – | Review-request status to return. |
No output schema declared.
No examples provided.
list_artifact_approval_requests List artifact review requests ~46
List exact artifact versions awaiting or carrying a human review decision. Requires separately delegated artifact review authority.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
list_artifacts List project artifacts ~31
List durable project artifacts and each latest immutable version without returning stored bytes.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | – |
No output schema declared.
No examples provided.
list_build_systems List my custom build systems ~70
List creative systems created by the authenticated account and compatible with an optional output target. Built-in 2ools skills, routing, prompts, and operating systems are private and are not returned.
| Name | Type | Req | Description |
|---|---|---|---|
| output_target | string | – | Optional target filter. Omit to list every compatible system available to the account. |
No output schema declared.
No examples provided.
list_connected_engines List connected computers ~76
List privacy-minimized connected 2ools Engines for exact native dispatch. Returns opaque Engine identity, a redacted machine label, online state, authenticated provider CLIs, supported protocols, privacy-safe workspace handles, and the last observed timestamp. Never returns tokens, paths, repository URLs, SSH hosts, secrets, or raw device labels.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_project_agents List project Agents ~52
List the authorizing account's built-in Agents assigned to one readable project. This reveals status and summary, not full Limits or run traces.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Readable 2ools project ID. |
No output schema declared.
No examples provided.
list_project_engineering_decisions List project engineering decisions ~86
List native-safe engineering decisions for one exact project, including the canonical project revision, category, risk, question, rationale, tradeoffs, response contract, constraints, and current state. Never returns secrets or internal prompts; unknown future response kinds remain in Project OS.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| project_id | string | yes | – |
| state | string | – | – |
No output schema declared.
No examples provided.
list_project_feedback List project feedback ~57
Read page-anchored review feedback for versions in a project, with explicit human or external-agent attribution.
| Name | Type | Req | Description |
|---|---|---|---|
| include_resolved | boolean | – | Include feedback already marked resolved. |
| project_id | string | yes | 2ools project ID. |
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.