██████╗ ███╗ ██╗███╗ ███╗ ██████╗██████╗
██╔═████╗████╗ ██║████╗ ████║██╔════╝██╔══██╗
██║██╔██║██╔██╗ ██║██╔████╔██║██║ ██████╔╝
████╔╝██║██║╚██╗██║██║╚██╔╝██║██║ ██╔═══╝
╚██████╔╝██║ ╚████║██║ ╚═╝ ██║╚██████╗██║
╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═════╝╚═╝
You have Stripe for payments. SendGrid for email. Slack for messaging. Airtable for data. A CRM for contacts.
Today, to automate across them, you need:
- Zapier ($50+/month) — and build complex zaps
- n8n/Make — and learn their visual builders
- Custom code — and maintain API integrations forever
What if you could just... talk to them?
You: "Invoice john@acme.com for $500 and notify #sales on Slack when it's sent"
0nMCP figures out the rest:
Step 1: Found John Smith (john@acme.com) in Stripe
Step 2: Created invoice INV-0042 for $500.00
Step 3: Posted to #sales: "New invoice sent to John Smith for $500"
Done. 3 steps. 2 services. 1.2 seconds.
No workflows. No mapping. No code. Just results.
# In Claude Desktop after setup:
You: "Connect to Stripe with key sk_live_xxx"
AI: Connected to Stripe (8 capabilities available)
You: "Connect to Slack with bot token xoxb-xxx"
AI: Connected to Slack (4 capabilities available)
You: "Get my Stripe balance and post it to #finance"
AI: Your Stripe balance is $12,450.00. Posted to #finance.That's it. No configuration files. No workflow builders. No decisions about which API to use.
npx 0nmcpOr install globally:
npm install -g 0nmcpAdd to ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"0nmcp": {
"command": "npx",
"args": ["0nmcp"],
"env": {
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
ANTHROPIC_API_KEYis optional. It enables AI-powered multi-step task planning. Without it, 0nMCP still works using keyword-based routing.
| Service | Type | What You Can Do |
|---|---|---|
| Stripe | Payments | Create customers, send invoices, check balance, subscriptions, products, prices |
| SendGrid | Send emails, manage contacts, templates, lists | |
| Resend | Send transactional emails, manage domains | |
| Twilio | SMS/Voice | Send SMS, make calls, check message status |
| Slack | Communication | Post to channels, DMs, list users, create channels |
| Discord | Communication | Send messages, list server channels |
| OpenAI | AI | Text generation, DALL-E images, embeddings, TTS |
| Airtable | Database | CRUD records in any base, list bases |
| Notion | Database | Search, create pages, query databases |
| GitHub | Code | Repos, issues, pull requests |
| Linear | Projects | Issues, projects (GraphQL) |
| Shopify | E-commerce | Products, orders, customers, inventory |
| HubSpot | CRM | Contacts, companies, deals |
| Supabase | Database | Tables, auth users, storage buckets |
| Calendly | Scheduling | Events, event types, availability |
| Google Calendar | Scheduling | Events, calendars, CRUD |
| CRM | CRM | Contacts, pipelines, tags, workflows, custom values, SMS, email, snapshots |
17 services. 100+ capabilities. One interface.
More coming: Mailchimp, QuickBooks, Jira, Asana, Zendesk, Intercom, Webflow, WordPress...
"Send an email to sarah@example.com: Meeting moved to 3pm"
"Create a Stripe customer for mike@startup.io"
"Post to #engineering on Slack: Deploy complete!"
"Send SMS to +1555123456: Your order shipped"
"What's my Stripe balance?"
"Search Notion for project roadmap"
"Create a Stripe invoice for $1000, then email the link to john@client.com"
"Create a GitHub issue for the login bug, then post it to #bugs on Slack"
"Look up sarah@example.com in my CRM and send her a follow-up email"
"Check if we have any overdue invoices in Stripe. If so, send a summary
to #finance on Slack and email the finance team."
The AI:
- Queries Stripe for overdue invoices
- Formats a summary
- Posts to Slack
- Sends the email
- Reports back
You describe the outcome. AI figures out the path.
"Deploy a full CRM snapshot with a 12-stage sales pipeline,
all lead tags, custom values, and 18 workflow definitions"
One tool call. Everything deployed:
{
"pipeline": {
"name": "Sales Pipeline",
"stages": ["001. New Lead", "002. Attempt to Contact", "003. Engaged",
"004. Appointment Set", "005. Appointment Showed", "006. Proposal Sent"]
},
"tags": ["New Lead", "FB Lead", "Hot Lead", "Booked Appointment", "No Show"],
"custom_values": {
"calendar_link": "https://calendly.com/yourlink",
"support_email": "support@yourco.com",
"welcome_sms": "Hey {{contact.first_name}}, welcome aboard!"
},
"workflows": [
{
"id": "001a",
"name": "001.a New Lead In",
"trigger": { "type": "tag_added", "tag": "New Lead" },
"actions": [
{ "type": "send_sms", "message": "{{custom_values.welcome_sms}}" },
{ "type": "wait", "duration": "10 minutes" },
{ "type": "add_tag", "value": "Contacted" }
]
}
]
}| Tool | Description |
|---|---|
execute |
Run any task in natural language across all connected services |
connect_service |
Connect a new service with credentials |
disconnect_service |
Remove a connected service |
list_connections |
See what's connected and capability counts |
list_available_services |
Browse all 17 services grouped by category |
get_service_info |
Deep dive on a specific service — endpoints, auth, capabilities |
api_call |
Direct API call to any connected service endpoint |
| Tool | Description |
|---|---|
crm_auth_url |
Generate OAuth authorization URL |
crm_exchange_token |
Exchange auth code for access + refresh tokens |
crm_refresh_token |
Refresh an expired access token |
crm_create_tags |
Bulk create tags in a sub-account |
crm_create_pipeline |
Create pipeline with ordered stages |
crm_create_custom_values |
Push custom key-value pairs |
crm_process_workflow |
Process workflow JSON — extracts and creates tags + custom values |
crm_deploy_snapshot |
Full deployment: pipeline + tags + custom values + all workflows |
crm_list_workflows |
List all workflows |
crm_list_pipelines |
List all pipelines and stages |
17 tools total. Universal orchestration + deep CRM integration.
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ You (Claude) │────▶│ 0nMCP │────▶│ Your APIs │
│ │ │ │ │ │
│ "Invoice John │ │ 1. Parse intent │ │ Stripe │
│ for $500 and │ │ 2. Plan steps │ │ SendGrid │
│ notify #sales" │ │ 3. Execute APIs │ │ Slack │
│ │◀────│ 4. Chain data │◀────│ CRM │
│ │ │ 5. Summarize │ │ + 13 more... │
└─────────────────┘ └──────────────────┘ └─────────────────┘
Claude analyzes your task, inspects connected services and their capabilities, creates a multi-step execution plan, runs every API call in order, passes data between steps, and summarizes the results.
The orchestrator uses keyword matching to route tasks to the right service. Less intelligent but still functional for straightforward single-service requests.
| 0nMCP | Zapier | Custom Code | |
|---|---|---|---|
| Setup time | 2 minutes | 30+ min per zap | Hours/days |
| Learning curve | None (natural language) | Medium (visual builder) | High (APIs, auth) |
| Multi-step tasks | Just describe it | Build complex zaps | Write orchestration logic |
| Cost | Free + your API keys | $20-$100+/month | Your time |
| Flexibility | Say what you want | Triggers/actions only | Unlimited but complex |
| Maintenance | Zero | Update broken zaps | Fix API changes |
| Open source | Yes (MIT) | No | Depends |
0nMCP/
├── index.js # Entry point — 7 universal tools + server startup
├── catalog.js # Service catalog — 17 integrations with endpoints
├── connections.js # Connection manager — credential storage (~/.0nmcp/)
├── orchestrator.js # AI execution planner — the brain
├── crm.js # CRM tools — 10 dedicated tools, first full integration
├── package.json
├── LICENSE # MIT
├── CONTRIBUTING.md
└── README.md
| Component | What It Does |
|---|---|
| Service Catalog | Defines all 17 services — their base URLs, endpoints, auth patterns, and capabilities |
| Connection Manager | Stores and retrieves credentials locally at ~/.0nmcp/connections.json |
| Orchestrator | The brain — parses natural language, plans multi-step execution, calls APIs, chains data |
| Universal Tools | MCP interface: execute, connect_service, api_call, etc. |
| CRM Tools | Direct access: pipelines, tags, custom values, workflows, full snapshot deploy |
- Local execution — MCP server runs on your machine, not in the cloud
- Direct API calls — Requests go straight to each service, not through a proxy
- Your credentials — Stored locally at
~/.0nmcp/connections.json, never sent anywhere - Anthropic key — Only used for task planning (never passed to external services)
- Open source — Audit every line yourself
| Variable | Required | Description |
|---|---|---|
ANTHROPIC_API_KEY |
No | Enables AI-powered multi-step planning. Keyword matching without it. |
Connections stored in plain text at ~/.0nmcp/connections.json. For production:
- Use a secrets manager
- Encrypt the connections file
- Use environment variables for credentials
Drop a definition into catalog.js:
your_service: {
name: "Your Service",
type: "category",
description: "What it does",
baseUrl: "https://api.yourservice.com",
authType: "api_key",
credentialKeys: ["apiKey"],
capabilities: [
{ name: "do_thing", actions: ["create", "list"], description: "Does the thing" },
],
endpoints: {
do_thing: { method: "POST", path: "/things", body: { name: "" } },
list_things: { method: "GET", path: "/things" },
},
authHeader: (creds) => ({
"Authorization": `Bearer ${creds.apiKey}`,
"Content-Type": "application/json",
}),
},Add keyword triggers to orchestrator.js. Submit a PR. Done.
See CONTRIBUTING.md for the full guide.
- Core orchestration engine with AI planning
- 17 service integrations
- Multi-step execution with data chaining
- CRM deep integration (10 dedicated tools)
- Full snapshot deployment (pipeline + tags + values + workflows)
- Keyword fallback mode (works without Anthropic key)
- OAuth flows — connect with one click
- Credential encryption — at-rest security
- Execution history — see what ran and when
- Scheduled tasks — "every Monday, send a report"
- Webhooks — trigger on external events
- Conditionals — "if balance < $100, alert me"
- More services — 50+ planned
- npm publish —
npx 0nmcplive on npm - Web dashboard — manage connections visually
- Plugin system — bring your own services
We want 0nMCP to be the open standard for AI-powered API orchestration.
Ways to contribute:
- Add a service — Drop it in the catalog. See CONTRIBUTING.md
- Report bugs — Open an issue
- Suggest features — Start a discussion
- Improve docs — PRs welcome
- Star the repo — Help others find it
git clone https://github.com/Crypto-Goatz/0nMCP.git
cd 0nMCP
npm install
node index.jsMIT License — do whatever you want with it. See LICENSE.
Built on:
- Anthropic — Claude and the MCP standard
- Model Context Protocol — The protocol that makes this possible
Star this repo if you believe AI should just do things for you.
Made with conviction by RocketOpp
"The best automation is the one you don't have to build."