Ganju
FreeNot checkedGanju.ai is a no-code tool for creating fast and scalable MCP servers.
About
Ganju.ai is a no-code tool for creating fast and scalable MCP servers.
README
Turn your knowledge and integrations into a hosted MCP server that any AI client or chat bot can connect to.
Ganju is an open-source platform for building and hosting Model Context Protocol (MCP) servers. A tenant uploads resources (files, websites, cloud drives), wires up tools (Gmail, Slack, Calendar, web search, or their own HTTP/MCP backends), writes prompts, and gets a ready-to-use MCP endpoint at https://mcp.<domain>/<slug> — reachable from Claude Desktop, ChatGPT, Cursor, and from chat bots on Telegram, Slack, WhatsApp, and Discord.
It runs almost entirely on the Cloudflare developer platform (Workers, Queues, R2, Hyperdrive, Containers, Durable Objects) with Postgres + pgvector for storage and retrieval.
Ganju is live at ganju.ai — dashboard at app.ganju.ai, MCP servers at https://mcp.ganju.ai/<slug>, docs at ganju.ai/docs. The Free plan needs no card. Everything here is Apache-2.0, so running your own instance is a supported path rather than a fallback — self-hosting has no plan caps.
Features
- Hosted MCP servers — each "artifact" becomes a stateless MCP server with its own slug, OAuth, and tool set.
- RAG over your content — upload files, crawl websites, or sync Google Drive / OneDrive folders; content is chunked and embedded for vector search.
- A growing tool catalog — native integrations (Gmail, Outlook, Slack, Google Calendar, Cal.com, Tavily web search) plus two generic, no-code definitions:
http-endpoint— expose your own HTTP API as a tool.mcp-proxy— connect a vendor's official MCP server (Notion, GitHub, …) and re-expose its tools.
- Tools you write yourself — when the catalog doesn't cover a case, write a tool in JavaScript and it runs on Workers for Platforms, with connected accounts, resource access and file-sending handed to it as host capabilities so your code never holds a refresh token. Author it in the dashboard's editor or from the ganju CLI, test it against real connections before publishing, and roll back by moving a pointer. See docs/CUSTOM_TOOLS.md.
- Chat-channel bots — the same artifact can drive Telegram / Slack / WhatsApp / Discord bots through an LLM tool-calling loop (Gemini, Claude, or OpenAI).
- Multi-tenant — organizations → projects → artifacts, with invitations and roles.
- Audit & usage trails — every MCP request, tool call, and channel message is recorded.
Architecture at a glance
flowchart LR
subgraph Clients
A[MCP clients<br/>Claude / ChatGPT / Cursor]
B[Chat bots<br/>Telegram / Slack / WhatsApp / Discord]
C[Dashboard users]
end
A -->|MCP over HTTP| MCP[apps/mcp<br/>MCP server Worker]
B -->|webhooks| API[apps/api<br/>control-plane Worker]
C --> WEB[apps/web<br/>Next.js dashboard]
WEB -->|REST| API
API --> DB[(Postgres + pgvector<br/>via Hyperdrive)]
MCP --> DB
API --> Q[[Cloudflare Queues]]
Q --> API
API --> RH[apps/resource-handler<br/>Node container]
MCP --> RH
API --> R2[(R2 storage)]
| App | Runtime | Responsibility |
|---|---|---|
| apps/api | Cloudflare Worker (Hono) | Control plane: auth, CRUD, OAuth, channel webhooks, queue consumers |
| apps/mcp | Cloudflare Worker (Hono) | The MCP server itself — boots a server per request and dispatches tools/resources/prompts |
| apps/resource-handler | Node container | CPU/binary-heavy work: document extraction, web crawling, large file sends |
| apps/web | Next.js (OpenNext → Cloudflare) | The management dashboard |
See docs/ARCHITECTURE.md for the full picture.
Repository layout
ganju/
├── apps/
│ ├── api/ Control-plane Worker (Hono)
│ ├── mcp/ MCP-server Worker (Hono)
│ ├── resource-handler/ Node container for heavy work
│ └── web/ Next.js dashboard
├── packages/
│ ├── db/ Drizzle schema, migrations, connection
│ ├── utils/ Shared kernel: constants, crypto, oauth, chunking, send helpers
│ ├── ui/ MUI component library
│ ├── containers/ Cloudflare Container class wrapper
│ └── tsconfig/ Shared TypeScript config
├── docs/ Project documentation (start here)
└── scripts/ Dev tooling
It's an npm workspaces + Turborepo monorepo.
Quick start
npm install
cp .env.example .env # then fill in the values
npm run migrate-dev # generate + apply DB migrations
npm run dev # start all apps via turbo
Default local ports: API 8080, MCP 8081, resource-handler 8082, web 3000.
Full setup (prerequisites, environment variables, database, per-app commands) is in docs/DEVELOPMENT.md.
Tech stack
- Language: TypeScript everywhere
- Edge runtime: Cloudflare Workers, Queues, R2, Hyperdrive, Durable Objects, Containers
- Web framework: Hono (APIs) and Next.js (dashboard)
- Database: Postgres + pgvector, accessed with Drizzle ORM
- Auth: better-auth (social login + OIDC provider for MCP OAuth)
- AI: Gemini, Anthropic, and OpenAI SDKs; Gemini embeddings for RAG
- MCP: @modelcontextprotocol/sdk
Documentation
| Doc | What's inside |
|---|---|
| docs/ARCHITECTURE.md | System design, apps, data flow, Cloudflare bindings |
| docs/DEVELOPMENT.md | Local setup, env vars, commands, troubleshooting |
| docs/DATA_MODEL.md | Database entities and relationships |
| docs/DEPLOYMENT.md | Deploying to Cloudflare, environments, secrets |
| docs/CUSTOM_TOOLS.md | User-written tools: runtime, broker, SDK, CLI |
| docs/PRICING.md | Cost model, plan limits, metering and Stripe |
| docs/ABUSE.md | Responding to abuse of user-authored tools |
| apps/mcp/src/tools/README.md | How tools work and how to add one |
| CONTRIBUTING.md | Contribution workflow and conventions |
Contributing
Contributions are welcome — please read CONTRIBUTING.md first.
License
Apache-2.0 — see also NOTICE.
Installing Ganju
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/MontoyaAndres/ganjuFAQ
Is Ganju MCP free?
Yes, Ganju MCP is free — one-click install via Unyly at no cost.
Does Ganju need an API key?
No, Ganju runs without API keys or environment variables.
Is Ganju hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Ganju in Claude Desktop, Claude Code or Cursor?
Open Ganju on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Ganju with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
