Maango-mcp
OfficialMaango MCP Server
The permissions layer for AI agents on the web. Before your agent scrapes, summarises, trains on, or otherwise uses content from a website, ask Maango what's allowed. One call, canonical answer.
Why
Every site that publishes a robots.txt, ai.txt, llms.txt, TDM-Rep header, or AI-specific ToS clause is telling agents what they can and can't do. Today no one parses all eight standards. NYT, Reddit, and Stack Overflow are suing over training data; the EU AI Act now requires opt-out compliance. Building this gate from scratch is weeks of work per agent.
Maango aggregates 1,000,000+ domains × 8 AI-policy standards into one canonical answer. Your agent calls check_permission(domain, action) and gets back allowed: true/false + a structured reason. That's it.
Hosted endpoint:
https://mcp.maango.io/sse(free, no key required)Protocol: Model Context Protocol
Registry coverage: 1,000,000+ domains, 8 AI-policy standards aggregated
Transports:
stdio(local),sse+streamable-http(remote)Image:
ghcr.io/maango-io/maango-mcpPackage:
pip install maango-mcp
Related MCP server: unphurl-mcp
Tools exposed
Tool | What it does |
| Decide in one call whether an action is allowed. Returns |
| Summary of a domain's AI policy — stance, use-cases, bots, signals. |
| Full raw policy data including robots.txt, ai.txt, llms.txt, TDM-Rep, meta tags. |
| Cross-signal conflicts (e.g. robots.txt vs ToS). |
| Prefix search the registry with optional stance filter. |
| Compare policies across 2–25 domains side by side. |
| Policy change history. |
Reason codes returned by check_permission
compliant— action explicitly permittedaction_blocked— the specific use-case (training/search/ai_input) is blockedbot_blocked— the namedagent_idis on the domain's blocked-bots liststance_blocks_all— domain blocks all AI access site-wideno_policy— no policy on file; conservative default is denyunspecified— action or use-case not addressed by the policylookup_error— registry could not be reached
Installation
Claude Desktop (remote, recommended)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"maango": {
"url": "https://mcp.maango.io/sse"
}
}
}Restart Claude Desktop. Ask: "Check if I can scrape nytimes.com for training data."
Cursor
Settings → MCP → Add new MCP Server:
{
"maango": {
"url": "https://mcp.maango.io/sse"
}
}Cline / Zed / any MCP client
Point them at https://mcp.maango.io/sse. No auth required for the hosted endpoint.
Local development (stdio)
git clone https://github.com/maango-io/maango-mcp.git
cd maango-mcp
uv venv && source .venv/bin/activate
uv pip install -e .
cp .env.example .env # optionally add MAANGO_API_KEY for higher rate limits
maango-mcp # runs with stdio transportThen in Claude Desktop:
{
"mcpServers": {
"maango": {
"command": "maango-mcp"
}
}
}Self-hosting
Any platform that can run a Python HTTP service works. Quick Docker path:
docker build -t maango-mcp .
docker run -p 8000:8000 \
-e MAANGO_API_KEY=maango_sk_xxx \
-e MAANGO_MCP_TRANSPORT=sse \
maango-mcpEnvironment variables:
Var | Default | Purpose |
|
|
|
|
| Bind address (remote transports only) |
|
| Bind port (remote transports only) |
|
| Maango REST API base URL |
| (none) | Optional bearer token for higher rate limits |
How it works
┌────────────────┐ MCP (sse/streamable-http) ┌─────────────────┐
│ Claude Desktop │ ◄───────────────────────────────► │ mcp.maango.io │
│ Cursor, … │ │ (this server) │
└────────────────┘ └────────┬────────┘
│ HTTPS
▼
┌─────────────────┐
│ api.maango.io │
│ (REST, 1M │
│ domains) │
└─────────────────┘The MCP server is a thin wrapper. The real data lives in the Maango REST API. We normalise the response into MCP-friendly tool output and handle the action → use-case mapping (e.g. "scrape" → training policy check).
Observability
The server exposes two HTTP endpoints when running on sse or
streamable-http transports (not stdio — there's no port to bind):
GET /health— cheap liveness probe, no upstream call. Used by DockerHEALTHCHECK, nginx, and uptime monitors.GET /metrics— Prometheus exposition. Tracksmaango_mcp_tool_requests_total{tool,status}andmaango_mcp_tool_duration_seconds{tool}(histogram).
Logs are emitted as one JSON object per stderr line with a per-tool-call
req_id that propagates through the client and decision-tree. Pipe stderr
to your log shipper of choice (Loki / Datadog / CloudWatch).
Development
See CONTRIBUTING.md for the full workflow. Quick start:
uv sync --extra dev
uv run pytest -q
uv run maango-mcp # stdio
MAANGO_MCP_TRANSPORT=sse uv run maango-mcp # SSE on :8000Security disclosures: see SECURITY.md.
Roadmap (not in v0.1)
Web Bot Auth signature verification
Capability-token issuance (Biscuits / Macaroons)
Payment-required flow via x402
Receipt IDs with tamper-evident Merkle proof
Real-time policy negotiation (Phase 3)
The roadmap is shaped by what users actually need — see Issues for the live list.
Contributing
If you find this useful:
⭐ Star the repo — that's how more agents find it.
🐛 Open an issue for bugs, missing domains, or anything in a tool's output that surprised you. Include the
req_idfrom the JSON log line if you have it.💡 Have a use case the current 7 tools don't cover? File an issue with a real example — that beats abstract feature requests every time.
🛠 PRs welcome — see CONTRIBUTING.md for the dev workflow and PR checklist.
🔒 Security disclosures: SECURITY.md. Email instead of opening an issue.
Links
Main site: https://maango.io
API docs: https://maango.io/docs
Changelog: CHANGELOG.md
License
MIT — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceCryptographic proof of consent for AI agents. Sign before you act. Policy engine enforces spending caps, action whitelists, and escalation rules. Independently verifiable by anyone.102Apache 2.0
- AlicenseAqualityCmaintenanceURL intelligence for AI agents. One URL in, structured security and data quality signals out across 7 dimensions. 13 tools, risk score 0-100 with 23 configurable weights.16741MIT
- AlicenseAqualityCmaintenanceA pre-action risk gate for AI agents. Your agent calls the forecast tool before any irreversible action — send email, run SQL, make a payment, delete a file — and gets a risk score (0–100) and a GO / CONFIRM / STOP verdict in a few seconds.1289MIT
- AlicenseAqualityAmaintenanceEnables AI agents to check whether a public website is crawlable, understandable, and ready for AI search workflows through local-only audits of robots.txt, sitemaps, metadata, and llms.txt.3381MIT
Related MCP Connectors
Pre-action allow/deny for AI agents. 24 statutes, 13 jurisdictions: EU AI Act, GDPR, DPDP.
Domain & company intel for AI agents: RDAP, DNS, email deliverability, tech stack. No API keys.
Verified, sourced, real-time intelligence layer for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/maango-io/maango-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server