Your MCP server's OAuth scope list is not a menu. By default, the client may ask for all of it
when the first 401 comes back with no scope in the WWW-Authenticate challenge, the spec's scope selection strategy tells the client to fall back to requesting everything in scopes_supported. so a server that lists files:*, db:*, admin:* ends up issuing one token that can do all three. the user sees one consent screen and clicks once.
the spec's security best practices page flags this as scope minimization: a leaked token (logs, memory scraping, local interception) then reaches unrelated tools, and revoking it breaks every workflow at once.
the pattern it recommends is progressive:
- start with a minimal scope set, e.g. a low-risk read-only one like mcp:tools-basic
- when a privileged tool is first called, answer with a WWW-Authenticate scope="..." challenge for just that scope
- accept down-scoped tokens, and log each elevation with a correlation ID
mistakes it lists: publishing every scope in scopes_supported, wildcard scopes like * or full-access, and trusting the scopes inside the token without server-side authorization checks.
related rule: an MCP server MUST NOT accept tokens that weren't explicitly issued for it. passing a client's token through to a downstream API is called out as an anti-pattern.
this page is still the draft spec, so pin the version you build against.
source: MCP spec, Security Best Practices (draft)
DevOps MCP servers have been blowing up lately.
If you've got an MCP client but don't know how to let your agent touch real infrastructure yet, you can just copy this checklist.
1. Flux159/mcp-server-kubernetes
Start here. Uses your existing kubeconfig so the agent can get, apply, scale, patch and roll out resources, run Helm, and port-forward. Has a non-destructive mode and secrets masking. claude mcp add kubernetes -- npx mcp-server-kubernetes github.com/Flux159/mcp-se…
2. containers/kubernetes-mcp-server
Go-native server that talks to the Kubernetes/OpenShift API directly (no kubectl wrapper). Covers pods, events, Helm, plus Prometheus/Loki/Tempo toolsets you enable in config. npx -y kubernetes-mcp-server@latest github.com/containers/kub…
3. hashicorp/terraform-mcp-server
The agent looks up real provider and module docs from the Terraform Registry before writing HCL, and can manage HCP Terraform workspaces, variables and runs. docker run -i --rm hashicorp/terraform-mcp-server (MPL-2.0) github.com/hashicorp/terr…
4. grafana/mcp-grafana
Lets the agent search dashboards, query Prometheus/Loki and check alert rules in your Grafana. Many tool groups are off by default, so enable only what you need. uvx mcp-grafana github.com/grafana/mcp-gr…
5. cloudflare/mcp-server-cloudflare
Remote servers (no local install) for Cloudflare docs, containers and more. Point a remote-capable client at docs.mcp.cloudflare.com/mcp. Note: some older servers there are deprecated in favor of the Cloudflare API MCP Server. github.com/cloudflare/mcp…
6. awslabs/mcp
Most advanced: a collection of AWS servers (docs, IaC, serverless, containers, databases), each its own package. Pick one, e.g. uvx awslabs.aws-documentation-mcp-server@latest (Apache-2.0) github.com/awslabs/mcp
Copy these complete DevOps blueprints, then read each README for the setup ↓ ↓
Use read-only credentials first. These tools act on real infrastructure.
YOUR AGENT CAN NOW TAP THROUGH REAL PHONES ON ITS OWN
mobile-mcp brings iOS and Android devices to MCP clients
drives apps from the native accessibility tree, with screenshots as a fallback
taps, swipes, installs, launches and terminates apps
same tools on simulators, emulators and real devices
no XCUITest or Espresso setup needed
works with Claude Code, Cursor, Cline, Windsurf & Codex
try it: claude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcp@latest
Apache-2.0
github.com/mobile-next/mo…
Someone already shipped Claude Code MCP debugging upgrades you can start using right NOW.
Here's how to use them:
1. Server won't connect? 'claude mcp list' and '/mcp' now show the HTTP status and error text (v2.1.219)
2. Find skipped configs: the headless stream-json init event has 'mcp_server_errors', listing '--mcp-config' entries that failed validation (v2.1.219)
3. MCP config values with hidden leading or trailing whitespace now trigger a warning (v2.1.219)
4. OAuth sign-in with a pre-registered client no longer fails on a redirect URI mismatch (v2.1.231)
5. MCP v2 connections no longer endlessly reopen the subscriptions/listen stream (v2.1.233)
6. Scope-conflict warnings show the configured '${VAR}' form instead of resolved secrets (v2.1.234)
Bookmark this, you'll need these tips
Source: Claude Code CHANGELOG
this is f**king insane
someone built an MCP server that lets your agent drive the Chrome you're already logged into
no new browser, no re-login. it uses your existing profile and runs fully local. 20+ tools: screenshots, network capture, tab search, bookmarks, history. open source
here is how to set it up in 3 mins
1. npm install -g mcp-chrome-bridge (pnpm works too)
2. download the extension from the releases page, load it unpacked at chrome://extensions, click connect
3. add {"type":"streamableHttp","url":"http://127.0.0.1:12306/mcp"} to your MCP client
done
ask: "summarize this page and draw it as a diagram in Excalidraw"
MIT licensed. it acts inside your logged-in sessions, so keep approvals on
github.com/hangwin/mcp-ch…
save this and give it to your agent
Your MCP client trusts a tool's "safe" label. The spec says it shouldn't
every tool can ship annotations, metadata describing its behavior. most setups read them as facts and auto-approve based on them. the spec's tools page says the opposite: clients MUST consider tool annotations untrusted unless they come from trusted servers.
so a label from a server you don't control is a claim, not a guarantee. the server describing its own tool is the same party you're deciding whether to trust.
two more traps in the same page:
- tool name uniqueness is only scoped to a single server. aggregate two servers that both expose "search" and the names collide
- the server name from serverInfo isn't guaranteed unique either, so don't use it to disambiguate. the spec suggests a disambiguation strategy such as prefixing tool names with a server identifier
what to do instead:
- keep a human in the loop for sensitive operations (SHOULD, per spec)
- show tool inputs before the call, to avoid accidental or malicious data exfiltration
- decide approval rules per server you trust, not from what a tool says about itself
- if you aggregate servers, namespace every tool
this page is still marked draft, so pin the spec version you build against.
source: MCP spec, Server > Tools
Database MCP servers have been blowing up lately.
If you've got an MCP client but don't know how to let your agent work with real data yet, you can just copy this checklist.
1. supabase-community/supabase-mcp
Start here. Connect your Supabase project and the agent can manage tables, fetch config and query data. Point your client at mcp.supabase.com/mcp. Apache-2.0. github.com/supabase-commu…
2. neondatabase/mcp-server-neon
Create Postgres projects and branches, run queries and perform migrations in plain English. Setup: npx neon@latest init (OAuth). MIT. github.com/neondatabase/m…
3. mongodb-js/mongodb-mcp-server
Works with MongoDB and Atlas. Run npx -y mongodb-mcp-server@latest setup, and add --readOnly while you test. Apache-2.0. github.com/mongodb-js/mon…
4. redis/mcp-redis
Lets the agent read and write strings, hashes, lists, streams, JSON and vector search in Redis. uvx --from redis-mcp-server@latest redis-mcp-server --url redis://localhost:6379/0. MIT. github.com/redis/mcp-redis
5. ClickHouse/mcp-clickhouse
Gives the agent run_query, list_databases and list_tables over ClickHouse, plus optional embedded chDB tools. uv run --with mcp-clickhouse --python 3.12 mcp-clickhouse. Apache-2.0. github.com/ClickHouse/mcp…
6. motherduckdb/mcp-server-motherduck
Run SQL on local DuckDB files, in-memory, S3 or MotherDuck and switch between databases. uvx mcp-server-motherduck --db-path :memory: --read-write --allow-switch-databases. MIT. github.com/motherduckdb/m…
7. googleapis/genai-toolbox
Most advanced: prebuilt database tools plus a framework for your own secure tools. npx -y @toolbox-sdk/server --prebuilt=postgres --stdio. Apache-2.0. github.com/googleapis/gen…
Copy these complete database blueprints, then read each README for the setup ↓ ↓
YOUR AGENT CAN NOW BUILD YOUR UNITY SCENES ON ITS OWN
unity-mcp brings the Unity Editor to MCP clients
creates scenes and GameObjects from natural-language prompts
edits C# scripts with Roslyn validation
manages assets, runs tests, profiles and builds
47 focused tools, grouped by vfx, animation, ui and testing
works with Claude Desktop, Claude Code, Cursor, VS Code, Windsurf & Cline
MIT licensed. Unity 2021.3 LTS through 6.x, Python 3.10+ via uv.
github.com/CoplayDev/unit…
Someone already documented Claude Code MCP settings you can start using right NOW.
Here's how to use them:
1. Retry every failed or unauthenticated server at once: '/mcp reconnect all' (v2.1.284+)
2. Show cached remote servers instantly in '/mcp' ('cached 2h ago · connects on first use'): 'MCP_DISCOVERY_CACHE=1' (v2.1.221+)
3. Raise the tool output cap from the 25,000-token default: 'export MAX_MCP_OUTPUT_TOKENS=50000'
4. Cut slow startup waits: 'MCP_TIMEOUT=10000 claude'
5. Add a server from raw JSON: 'claude mcp add-json ''' (add '--scope user' to keep it global)
6. Re-ask approval for project '.mcp.json' servers: 'claude mcp reset-project-choices'
Bookmark this, you'll need these tips
Source: Claude Code docs > MCP
this is f**king insane
someone built an MCP server that lets your agent QA your iOS app on its own
it reads the simulator's accessibility tree, taps, types, swipes, screenshots and even records video of the run. open source
here is how to set it up in 3 mins
1. mac with Xcode simulators, Node 20+ and Facebook IDB installed
2. claude mcp add ios-simulator npx ios-simulator-mcp
3. ask: "launch my app in the simulator, tap through onboarding and screenshot every screen"
done
MIT licensed. use v1.3.3+ (older versions had a command injection bug)
github.com/joshuayoes/ios…
save this and give it to your agent
Your MCP client can be tricked into calling your cloud metadata endpoint. The server never has to hack anything
during OAuth discovery, your client fetches URLs that the MCP server hands it. most people treat that as a handshake. the spec treats it as untrusted input.
what the MCP security best practices page lists as server-controlled fields:
- the resource_metadata URL in the WWW-Authenticate header
- authorization_servers in the Protected Resource Metadata
- token_endpoint, authorization_endpoint and the other Authorization Server Metadata URLs
a malicious server can point any of them at http://169.254.169.254/ (cloud metadata), localhost:6379 (Redis), or 10.0.0.1. the client follows the URL, and error details can leak back. the spec calls this SSRF, and it matters most for MCP clients deployed on a server.
the fix, per the spec:
- require HTTPS for OAuth URLs (loopback is OK in dev)
- block private and reserved ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8, 169.254.0.0/16, fc00::/7, fe80::/10
- validate every redirect hop, or turn off auto-follow
- consider an egress proxy (the spec names Smokescreen)
two traps most people miss:
- hand-rolled IP checks. the spec warns attackers use octal, hex and IPv4-mapped IPv6 encodings that custom parsers miss, so use a vetted library
- checking the hostname once. a domain can resolve to a safe IP at check time and an internal one at request time (DNS rebinding), so pin the resolved IP between check and use
it is not only clients. an authorization server that fetches Client ID Metadata Documents takes a URL from an unknown client, so the same blocks apply there.
this page is still marked draft, so pin the spec version you build against.
source: MCP spec, Security Best Practices > SSRF
check out the full article below ↓ ↓
modelcontextprotocol.io/specification/…
Coding-agent MCP servers have been blowing up lately.
If you've got an MCP client but don't know how to give your agent real dev tools yet, you can just copy this checklist.
1. modelcontextprotocol/inspector
Start here. Run npx @modelcontextprotocol/inspector and you get a web UI, a CLI for CI, or a terminal UI to call your server's tools by hand before an agent ever touches them. MIT licensed. github.com/modelcontextpr…
2. upstash/context7
Fixes agents writing code against outdated library APIs. It pulls version-specific docs and examples into the prompt. Setup is npx ctx7 setup, or point your client at mcp.context7.com/mcp. MIT licensed. github.com/upstash/contex…
3. microsoft/playwright-mcp
Drives a browser through the accessibility tree instead of screenshots, so no vision model is needed. Claude Code: claude mcp add playwright npx @playwright/mcp@latest. github.com/microsoft/play…
4. ChromeDevTools/chrome-devtools-mcp
Lets the agent open a live Chrome, record a performance trace, read console messages, check network requests and take screenshots to debug a slow page. Add --headless --slim for basic tasks. github.com/ChromeDevTools…
5. github/github-mcp-server
Agent reads repos, manages issues and PRs. Pick only the toolsets you need with --toolsets, and pass --read-only to skip every write tool while you test. github.com/github/github-…
6. DeusData/codebase-memory-mcp
Indexes your repo into a local knowledge graph (functions, call chains, routes) so the agent queries structure instead of grepping files. Runs locally, no API key, and can map a git diff to the symbols it affects. MIT licensed. github.com/DeusData/codeb…
Copy these complete coding-agent blueprints, then read each README for the setup ↓ ↓
YOUR AGENT CAN NOW MODEL, RIG AND ANIMATE IN BLENDER ON ITS OWN
mcp-blender-agent brings Blender to MCP clients
about 216 typed tools across 12 domains: modeling, rigging, animation, materials, nodes, rendering
exports to FBX, glTF, USD and Alembic with every exporter parameter exposed
returns structured results with ids that feed the next call
ends composite edits in a single undo step
works with Claude Code, Copilot, Cursor, Codex, opencode & Claude Desktop
MIT licensed. Needs Blender 4.2+ and Node 18+.
github.com/PoBruno/mcp-bl…
Claude Code shipped MCP changes you can start using right NOW (v2.1.238 / v2.1.239).
Here's what changed:
1. 'claude mcp list' and 'claude mcp get ' now show disabled servers as '⊘ Disabled' instead of connecting to them (v2.1.238)
2. 'headersHelper' in a project '.mcp.json' now needs that folder's trust dialog accepted first (v2.1.238)
3. Same trust rule for inline MCP servers in project or '--add-dir' agent files (v2.1.238)
4. 'headersHelper' from a project '.mcp.json', plugin or agent file now runs without inherited credential env vars (v2.1.238)
5. A server that never answers no longer hangs the connection for the full 30-second timeout (v2.1.238)
6. Remote MCP servers recover after a transient 5xx on a mid-session reconnect (v2.1.239)
Bookmark this, you'll need these tips
Source: Claude Code CHANGELOG
this is f**king insane
someone built an MCP server that lets your agent drive your whole windows desktop
it reads the ui tree instead of guessing from screenshots, so it clicks, types and fills forms in real apps like a person would
no vision model needed. open source. one command
here is how to set it up in 3 mins
1. windows pc with node installed
2. claude mcp add terminator "npx -y terminator-mcp-agent@latest"
3. ask: "open notepad and write a to-do list for today"
done
MIT licensed
github.com/mediar-ai/term…
save this and give it to your agent
One stray print() can kill your stdio MCP server. The spec says why
if your server runs over stdio, stdout is not a log. it is the protocol channel.
what the transport spec says (2025-06-18):
- the client launches your server as a subprocess and talks JSON-RPC over stdin/stdout
- "The server MUST NOT write anything to its stdout that is not a valid MCP message"
- messages are newline-delimited and "MUST NOT contain embedded newlines"
- logging goes to stderr: "The server MAY write UTF-8 strings to its stderr for logging purposes. Clients MAY capture, forward, or ignore this logging"
so one console.log("server started") in Node or one print("debug") in Python puts a non-JSON line in the stream the client is parsing. depending on the client, that can show up as a parse error or a server that never finishes connecting.
the fix:
- send every log line to stderr (console.error, print(..., file=sys.stderr), or a logger bound to stderr)
- grep your server and its dependencies for anything that writes to stdout
- test it with a bare pipe: send an initialize request on stdin and check that every line on stdout parses as JSON
two traps most people miss:
- pretty-printed JSON in your own output. a message with embedded newlines breaks the framing even if it is valid JSON
- assuming stderr will be shown to you. the spec says clients MAY ignore it, so don't make stderr your only error channel
pin the spec version you built against (2025-06-18), this page changes.
source: MCP spec, Basic > Transports > stdio
check out the full spec below ↓ ↓
modelcontextprotocol.io/specification/…
Database MCP servers have been blowing up lately.
If you've got an MCP client but don't know how to let your agent safely talk to your data yet, you can just copy this checklist.
1. motherduckdb/mcp-server-motherduck
Easiest place to start. Point it at a local DuckDB file, an in-memory DB, S3 or MotherDuck and the agent runs SQL and browses the catalog. Read-only is the default, you opt in to writes. MIT licensed. github.com/motherduckdb/m…
2. redis/mcp-redis
Lets the agent read and update Redis in plain language: strings, hashes, lists, sets, streams, JSON docs and vector search. Good for inspecting cache state while debugging. MIT licensed. github.com/redis/mcp-redis
3. supabase-community/supabase-mcp
Manage tables, fetch config and query data in your Supabase project. Add read_only=true to drop every mutating tool, project_ref to scope it to one project, and features= to expose only the groups you need. github.com/supabase-commu…
4. neondatabase/mcp-server-neon
Branch-based Postgres workflow: the agent prepares a migration on a temporary branch, you test it, then it applies to main and cleans up. Read-only mode and project scoping via URL params. Meant for local dev, not production. github.com/neondatabase/m…
5. mongodb-js/mongodb-mcp-server
Query, aggregate, inspect schemas and indexes on MongoDB and Atlas. Use --readOnly to unregister write tools and --indexCheck to reject queries that would scan the whole collection. github.com/mongodb-js/mon…
6. googleapis/genai-toolbox
One server for many databases with prebuilt list_tables and execute_sql tools, plus a framework to define your own locked-down tools for production agents. Apache 2.0. github.com/googleapis/gen…
Copy these complete database blueprints, then read each README for the setup ↓ ↓
YOUR AGENT CAN NOW MOD YOUR PC GAMES ON ITS OWN
universal-modder brings single-player game modding to coding agents
scans installed games and fingerprints their engines
generates and processes sprites, 3D renders and other assets
searches a shared knowledge base of field notes before it starts
works with Claude Code, Codex, Cursor, Gemini CLI and OpenCode
MIT licensed. Single-player, offline games you own only.
github.com/rehan-remade/u…
Someone already shipped more Claude Code MCP tricks you can start using right NOW.
Here's how to use them:
1. Add a server from raw JSON: 'claude mcp add-json my-server '{"type":"http","url":"mcp.example.com/mcp"}'' (add '--scope user' for all projects)
2. Reuse your Claude Desktop servers: 'claude mcp add-from-claude-desktop' (macOS and WSL only)
3. Debug a failing server: 'claude mcp get ' shows an 'Issue:' line (v2.1.219+)
4. Run only the servers you pass: 'claude --strict-mcp-config --mcp-config '. No approval prompt for unused project servers (v2.1.246+)
5. Server changed its tools? Claude Code re-fetches on 'list_changed' in interactive sessions, no reconnect needed
6. Use Claude Code itself as a server: 'claude mcp serve' (stdio)
Bookmark this, you'll need these tips
Source: Claude Code MCP docs
this is f**king insane
someone built an MCP server that gives your agent a live Excalidraw canvas
it draws your architecture diagram, screenshots its own work to check it, then exports a .excalidraw file you can commit to your repo
no drawing tool. no API keys for core drawing. runs locally
here is how to set it up in 3 mins
1. install node 20+
2. claude mcp add excalidraw --scope user -- npx -y mcp-excalidraw-server
3. open http://127.0.0.1:3000 and ask: "draw the architecture of this repo"
done
MIT licensed
github.com/yctimlin/mcp_e…
save this and give it to your agent
1K Followers 2K FollowingFounder & CEO @LevoIncHQ
On a mission to help enterprises adopt AI securely. The agentic world needs better security.
#AISecurity #AppSec #APISecurity
30 Followers 762 FollowingLocal tools. Global reach. A private, encrypted mesh for devices, services, and AI agents. Join the community: https://t.co/tik6VHivfu
2K Followers 2K FollowingBuilding, exploring & having fun along the way.
Web3 Space Host
• @PrismaXai
• @FlutonIO ( Encrypted )
• @teneo_protocol (full )
7 Followers 15 FollowingLumière PayCheck is a machine-readable record, trust layer, and IAM layer for the x402 ecosystem. Built for startups, teams, and enterprise.
2K Followers 2K FollowingBuilding, exploring & having fun along the way.
Web3 Space Host
• @PrismaXai
• @FlutonIO ( Encrypted )
• @teneo_protocol (full )
7 Followers 15 FollowingLumière PayCheck is a machine-readable record, trust layer, and IAM layer for the x402 ecosystem. Built for startups, teams, and enterprise.