The only build-time quality linter for MCP. Validate, audit tokens, optimize, auto-fix, grade. Try it now — Notion scored F.
The quality linter for MCP tool schemas. Full pipeline: validate → audit (token costs) → optimize → fix → grade (A+ to F). @tool decorator exports to OpenAI, Claude, Gemini, MCP, Ollama. 69 checks. 201 servers graded. 3759 tests.
from agent_friend import tool, Toolkit @tool def get_weather(city: str, unit: str = "celsius") -> dict: """Get current weather for a city. Args: city: The city name unit: Temperature unit (celsius or fahrenheit) """ return {"temp": 22, "unit": unit, "city": city} # Export to any AI framework get_weather.to_openai() # OpenAI function calling get_weather.to_anthropic() # Claude tool_use get_weather.to_google() # Gemini get_weather.to_mcp() # Model Context Protocol get_weather.to_json_schema() # Raw JSON Schema
Tools that run in your browser. No account, no API key.
Five tools covering the full MCP developer lifecycle: lint → secure → test → debug → deploy-gate.
pip install agent-friend
$ agent-friend grade server.json
Grade: A+ (96.0) 69 checks 0 issues
$ agent-friend fix server.json # auto-fix
pip install mcp-patch
$ mcp-patch scan server.py
CRITICAL shell_injection line 12
HIGH ssrf line 34
pip install mcp-pytest
def test_search(mcp_server):
result = mcp_server.call("search", query="test")
assert result["results"]
pip install mcp-snoop
$ mcp-snoop -- python3 server.py
→ initialize {"protocolVersion": "2024-11-05"}
← tools/list [{"name": "search", ...}]
pip install mcp-diff
$ mcp-diff lock server.json # save snapshot
$ mcp-diff check server.json # CI: detect drift
BREAKING search: param "limit" removed