Weavz – Code Mode MCP for 1k apps (3 tools, not 12,000)
Weavz introduces Code Mode MCP, which replaces 12,000+ tool definitions with just 3 meta-tools. This context-efficient approach allows AI agents to search, read typed API docs, and write JavaScript to compose multi-step workflows, reducing token costs and improving output quality. The platform includes stateful runtime primitives like Filesystem, State KV, Sandbox, and Human Gates.
For AI Developers
Your Agent Gets 3 Tools. 12,000+ Agent Tools. Less Context.
Code Mode MCP replaces 12,000+ tool definitions with 3 meta-tools. Your agent searches, reads typed API docs, and writes JavaScript to compose multi-step workflows with Filesystem, State KV, Sandbox execution, and Human Gates.
Try Code Mode FreeRead the Docs
How it works
From zero to MCP in three steps
01
Create an MCP server
Pick integrations, connect accounts, choose Tool Mode or Code Mode. You get an MCP endpoint; OAuth-capable clients sign in through Weavz.
02
Paste the config
Drop the URL into Claude Desktop, Cursor, Windsurf, or anything that speaks MCP. One JSON block.
03
Agent runs stateful work
Your agent can search connected apps, read typed APIs, use 12,000+ tools, persist state, and pause risky steps for approval.
Code Mode MCP
3 tools instead of 200+. Context-efficient by design.
Tool Mode sends every action as a separate tool definition — useful but context-heavy as the catalog grows. Large tool-schema lists can cost real money and degrade agent quality as irrelevant schemas crowd out useful reasoning. Code Mode replaces all tools with 3 meta-tools that let your agent search, read, and execute on demand. The agent loads only what it needs, improving output quality and lowering token costs.
Context Usage Comparison
Tool ModeLarge schema load
{name:"slack_send_message", inputSchema: { type: "object", ... }}
{name:"slack_list_channels", inputSchema: { type: "object", ... }}
{name:"slack_get_user", inputSchema: { type: "object", ... }}
{name:"slack_upload_file", inputSchema: { type: "object", ... }}
{name:"slack_set_topic", inputSchema: { type: "object", ... }}
{name:"slack_add_reaction", inputSchema: { type: "object", ... }}
{name:"github_create_issue", inputSchema: { type: "object", ... }}
{name:"github_list_repos", inputSchema: { type: "object", ... }}
{name:"github_create_pr", inputSchema: { type: "object", ... }}
{name:"github_merge_pr", inputSchema: { type: "object", ... }}
{name:"github_get_file", inputSchema: { type: "object", ... }}
{name:"github_create_comment", inputSchema: { type: "object", ... }}
{name:"google_sheets_read", inputSchema: { type: "object", ... }}
{name:"google_sheets_write", inputSchema: { type: "object", ... }}
{name:"google_sheets_create", inputSchema: { type: "object", ... }}
{name:"salesforce_create_lead", inputSchema: { type: "object", ... }}
{name:"salesforce_update_contact", inputSchema: { type: "object", ... }}
{name:"salesforce_query", inputSchema: { type: "object", ... }}
{name:"hubspot_create_deal", inputSchema: { type: "object", ... }}
{name:"hubspot_list_contacts", inputSchema: { type: "object", ... }}
{name:"hubspot_add_note", inputSchema: { type: "object", ... }}
{name:"notion_create_page", inputSchema: { type: "object", ... }}
{name:"notion_query_db", inputSchema: { type: "object", ... }}
{name:"notion_update_block", inputSchema: { type: "object", ... }}
{name:"gmail_send_email", inputSchema: { type: "object", ... }}
{name:"gmail_list_threads", inputSchema: { type: "object", ... }}
{name:"gmail_get_message", inputSchema: { type: "object", ... }}
{name:"airtable_create_record", inputSchema: { type: "object", ... }}
{name:"airtable_list_records", inputSchema: { type: "object", ... }}
{name:"airtable_update", inputSchema: { type: "object", ... }}
{name:"jira_create_issue", inputSchema: { type: "object", ... }}
{name:"jira_transition", inputSchema: { type: "object", ... }}
{name:"jira_add_comment", inputSchema: { type: "object", ... }}
{name:"linear_create_issue", inputSchema: { type: "object", ... }}
{name:"linear_list_projects", inputSchema: { type: "object", ... }}
{name:"linear_update_issue", inputSchema: { type: "object", ... }}
{name:"slack_send_message", inputSchema: { type: "object", ... }}
{name:"slack_list_channels", inputSchema: { type: "object", ... }}
{name:"slack_get_user", inputSchema: { type: "object", ... }}
{name:"github_create_issue", inputSchema: { type: "object", ... }}
{name:"github_list_repos", inputSchema: { type: "object", ... }}
{name:"github_create_pr", inputSchema: { type: "object", ... }}
{name:"google_sheets_read", inputSchema: { type: "object", ... }}
{name:"google_sheets_write", inputSchema: { type: "object", ... }}
{name:"google_sheets_create", inputSchema: { type: "object", ... }}
Code Mode3 meta-tools
{name:"weavz_search"}
{name:"weavz_read_api"}
{name:"weavz_execute"}
API details load on demand
weavz_search
Search available integrations and tools by keyword
weavz_search({ query: "slack" })
weavz_read_api
Read full API docs for one or more aliases on demand
weavz_read_api({ aliases: ["office_slack"] })
weavz_execute
Execute multi-step integration workflows in code
weavz_execute({ code: ` const channels = await weavz.office_slack.list_channels({}); await weavz.office_slack.send_channel_message({ channel: channels[0].id, text: "Hello from AI!" }); ` })
Stateful Runtime
The primitives agents need after the API call
Agents are better when they can carry context forward, produce artifacts, transform data, and ask for approval before the expensive or irreversible step.
Filesystem
Store generated files, research outputs, logs, and artifacts across agent runs with end-user, workspace, or external scoping.
State KV
Keep cursors, checkpoints, lightweight memory, and workflow state close to the tools that need it.
Sandbox
Let agents run deterministic JavaScript, Python, and Shell steps for transforms, parsing, and custom execution.
Human Gates
Pause sensitive executions until a reviewer approves, rejects, or edits the request, then resume with the audit trail intact.
What your agent can actually reach
Slack, GitHub, Salesforce, Google Sheets, HubSpot, and hundreds more. Each integration ships with pre-built tools and triggers - no API wrappers to write.
Gmail, Slack, CRM
App access
12,000+
Tools
1,400+
Triggers
Quick Start
Paste a JSON block. Done.
Add this to claude_desktop_config.json and your agent can call Slack, Google Sheets, GitHub, and everything else on your MCP server.
claude_desktop_config.json
{ "mcpServers": { "weavz": { "url": "https://platform.weavz.io/mcp/srv_abc123" } } }
Your agent is one config change away
Free tier: 25 MCP servers, 20,000 actions/month, 10 connections. Code Mode included. No credit card.
Get Started FreeCompare with Composio