0nMCP
by Crypto-Goatz
README.md
<div align="center">
```
██████╗ ███╗ ██╗███╗ ███╗ ██████╗██████╗
██╔═████╗████╗ ██║████╗ ████║██╔════╝██╔══██╗
██║██╔██║██╔██╗ ██║██╔████╔██║██║ ██████╔╝
████╔╝██║██║╚██╗██║██║╚██╔╝██║██║ ██╔═══╝
╚██████╔╝██║ ╚████║██║ ╚═╝ ██║╚██████╗██║
╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═════╝╚═╝
```
# The Universal AI API Orchestrator
### Connect your apps. Say what you want. AI does the rest.
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org)
[](https://modelcontextprotocol.io)
[](http://makeapullrequest.com)
[](#-supported-services)
[](#-all-tools)
[Demo](#-watch-it-work) · [Install](#-installation) · [Services](#-supported-services) · [Tools](#-all-tools) · [Examples](#-examples) · [Contributing](#-contributing)
</div>
---
## The Problem
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?**
---
## The Solution
```
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.**
---
## Watch It Work
```bash
# 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.
---
## Installation
### One Command
```bash
npx 0nmcp
```
Or install globally:
```bash
npm install -g 0nmcp
```
### Configure Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"0nmcp": {
"command": "npx",
"args": ["0nmcp"],
"env": {
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
```
> `ANTHROPIC_API_KEY` is **optional**. It enables AI-powered multi-step task planning. Without it, 0nMCP still works using keyword-based routing.
### Restart Claude Desktop. Start talking.
---
## Supported Services
| Service | Type | What You Can Do |
|---------|------|-----------------|
| **Stripe** | Payments | Create customers, send invoices, check balance, subscriptions, products, prices |
| **SendGrid** | Email | Send emails, manage contacts, templates, lists |
| **Resend** | Email | 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...
---
## Examples
### Simple Tasks
```
"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"
```
### Multi-Step
```
"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"
```
### Complex Orchestration
```
"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:
1. Queries Stripe for overdue invoices
2. Formats a summary
3. Posts to Slack
4. Sends the email
5. Reports back
**You describe the outcome. AI figures out the path.**
### CRM Snapshots — Deploy Entire Configurations
```
"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:
```json
{
"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" }
]
}
]
}
```
---
## All Tools
### Universal Tools (7)
| 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 |
### CRM Tools (10)
| 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.
---
## How It Works
```
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ 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... │
└─────────────────┘ └──────────────────┘ └─────────────────┘
```
### With `ANTHROPIC_API_KEY` (AI Mode)
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.
### Without API Key (Keyword Mode)
The orchestrator uses keyword matching to route tasks to the right service. Less intelligent but still functional for straightforward single-service requests.
---
## Why Not Just Use...
| | **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 |
---
## Architecture
```
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 |
---
## Security
- **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
---
## Configuration
### Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `ANTHROPIC_API_KEY` | No | Enables AI-powered multi-step planning. Keyword matching without it. |
### Credential Storage
Connections stored in plain text at `~/.0nmcp/connections.json`. For production:
- Use a secrets manager
- Encrypt the connections file
- Use environment variables for credentials
---
## For Developers
### Adding a New Service
Drop a definition into `catalog.js`:
```javascript
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](CONTRIBUTING.md) for the full guide.
---
## Roadmap
- [x] Core orchestration engine with AI planning
- [x] 17 service integrations
- [x] Multi-step execution with data chaining
- [x] CRM deep integration (10 dedicated tools)
- [x] Full snapshot deployment (pipeline + tags + values + workflows)
- [x] 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 0nmcp` live on npm
- [ ] **Web dashboard** — manage connections visually
- [ ] **Plugin system** — bring your own services
---
## Contributing
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](CONTRIBUTING.md)
- **Report bugs** — [Open an issue](https://github.com/Crypto-Goatz/0nMCP/issues)
- **Suggest features** — Start a discussion
- **Improve docs** — PRs welcome
- **Star the repo** — Help others find it
```bash
git clone https://github.com/Crypto-Goatz/0nMCP.git
cd 0nMCP
npm install
node index.js
```
---
## License
MIT License — do whatever you want with it. See [LICENSE](LICENSE).
---
## Credits
Built on:
- [Anthropic](https://anthropic.com) — Claude and the MCP standard
- [Model Context Protocol](https://modelcontextprotocol.io) — The protocol that makes this possible
---
<div align="center">
### Stop building workflows. Start describing outcomes.
**[Star this repo](https://github.com/Crypto-Goatz/0nMCP)** if you believe AI should just *do things* for you.
---
Made with conviction by [RocketOpp](https://github.com/Crypto-Goatz)
*"The best automation is the one you don't have to build."*
</div>
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues