Skip to main content
Glama
pydantic

mcp-run-python

Official
by pydantic
test_fastmcp_toolset.yaml43 kB
interactions: - request: headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '152' content-type: - application/json host: - mcp.deepwiki.com method: POST parsed_body: id: 0 jsonrpc: '2.0' method: initialize params: capabilities: {} clientInfo: name: mcp version: 0.1.0 protocolVersion: '2025-06-18' uri: https://mcp.deepwiki.com/mcp response: body: string: |+ event: message data: {"jsonrpc":"2.0","id":0,"result":{"protocolVersion":"2025-03-26","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"DeepWiki","version":"0.0.1"}}} event: ping data: ping headers: access-control-allow-headers: - Content-Type, mcp-session-id, mcp-protocol-version access-control-allow-methods: - GET, POST, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - mcp-session-id access-control-max-age: - '86400' alt-svc: - h3=":443"; ma=86400 cache-control: - no-cache connection: - keep-alive content-type: - text/event-stream mcp-session-id: - 8d8f512fb20c9bb4a2cf6521f2eff7f12652146253d9b5476d33312e89a07d0f nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Y9fAj1ACeJmQblW4OwFeW1JiEQaFQbkVBzxMgg%2BYJgDSgnp%2FWucZmydQi5zI5UR5il%2BIO4KQgsiTfHzHZPuK0R%2F%2BMp9jNsR2tpU45zo3UqkE0n6actCnbuSZLO77lASCdY5BEg%3D%3D"}]}' transfer-encoding: - chunked vary: - accept-encoding status: code: 200 message: OK - request: body: '' headers: accept: - application/json, text/event-stream, text/event-stream accept-encoding: - gzip, deflate cache-control: - no-store connection: - keep-alive content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 8d8f512fb20c9bb4a2cf6521f2eff7f12652146253d9b5476d33312e89a07d0f method: GET uri: https://mcp.deepwiki.com/mcp response: body: string: '{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed"},"id":null}' headers: alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '82' content-type: - text/plain;charset=UTF-8 nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=e%2F7l5elXiNsFyZRHirPD5D5UiS6je7KW84L49bkDZJ5RLHY9Gsi0EK4sm%2B5kQRsBrFzPU8H7rk9CX9jpu9EXsSNjeEzYvws%2BEF0YPSUA479S9elQs0O7Ctgw3DJSrWvrtOntwg%3D%3D"}]}' vary: - accept-encoding status: code: 405 message: Method Not Allowed - request: headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '54' content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 8d8f512fb20c9bb4a2cf6521f2eff7f12652146253d9b5476d33312e89a07d0f method: POST parsed_body: jsonrpc: '2.0' method: notifications/initialized uri: https://mcp.deepwiki.com/mcp response: body: string: '' headers: access-control-allow-headers: - Content-Type, mcp-session-id, mcp-protocol-version access-control-allow-methods: - GET, POST, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - mcp-session-id access-control-max-age: - '86400' alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '0' nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=XPEJhKGCZjxqE3ueUnymkui7mopB786pJCqdFb0pYStHhZkD28GA7PfESXzvahtvu7A299WxcAtZ6IRV2B8D%2BVDz5RuFZ0kua1nCxw5UhSphZeiyZDwknI6vxjjcOt21ZK%2BrZQ%3D%3D"}]}' vary: - accept-encoding status: code: 202 message: Accepted - request: headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '46' content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 8d8f512fb20c9bb4a2cf6521f2eff7f12652146253d9b5476d33312e89a07d0f method: POST parsed_body: id: 1 jsonrpc: '2.0' method: tools/list uri: https://mcp.deepwiki.com/mcp response: body: string: |+ event: message data: {"jsonrpc":"2.0","id":1,"result":{"tools":[{"name":"read_wiki_structure","description":"Get a list of documentation topics for a GitHub repository","inputSchema":{"type":"object","properties":{"repoName":{"type":"string","description":"GitHub repository: owner/repo (e.g. \"facebook/react\")"}},"required":["repoName"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"read_wiki_contents","description":"View documentation about a GitHub repository","inputSchema":{"type":"object","properties":{"repoName":{"type":"string","description":"GitHub repository: owner/repo (e.g. \"facebook/react\")"}},"required":["repoName"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"ask_question","description":"Ask any question about a GitHub repository","inputSchema":{"type":"object","properties":{"repoName":{"type":"string","description":"GitHub repository: owner/repo (e.g. \"facebook/react\")"},"question":{"type":"string","description":"The question to ask about the repository"}},"required":["repoName","question"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}]}} event: ping data: ping headers: access-control-allow-headers: - Content-Type, mcp-session-id, mcp-protocol-version access-control-allow-methods: - GET, POST, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - mcp-session-id access-control-max-age: - '86400' alt-svc: - h3=":443"; ma=86400 cache-control: - no-cache connection: - keep-alive content-type: - text/event-stream mcp-session-id: - 8d8f512fb20c9bb4a2cf6521f2eff7f12652146253d9b5476d33312e89a07d0f nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=VxXV3nNYKk3ee5aQVJSAVtTXqCF3z3R4xPnY3gJqUtgoul0%2BPfKO6tqoIXFdTATXshgNaqw4dmrY6XcDdvlUyGjT2HbTzFKFx1gcI%2F8u0IP60bbI6j%2B3o3Us4jggQzTcvqz0mA%3D%3D"}]}' transfer-encoding: - chunked vary: - accept-encoding status: code: 200 message: OK - request: body: '' headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 8d8f512fb20c9bb4a2cf6521f2eff7f12652146253d9b5476d33312e89a07d0f method: DELETE uri: https://mcp.deepwiki.com/mcp response: body: string: '{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed"},"id":null}' headers: alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '82' content-type: - text/plain;charset=UTF-8 nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=BzqanqKd%2FeqQFCE%2FHoOwiIDqy%2BYsGBB2DJ%2BqLhnfYBv9%2FEShZhGpWtd1VW5PwP7%2BfW7wqfsaX%2F2Y6eGLo%2FfFVYQ5Cs5JicJBr2zp0dRVODQODt4Kt21ZzvRi9K%2F5aF8fLYMvug%3D%3D"}]}' vary: - accept-encoding status: code: 405 message: Method Not Allowed - request: headers: accept: - application/json accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '1298' content-type: - application/json host: - api.openai.com method: POST parsed_body: messages: - content: Can you tell me more about the pydantic/pydantic-ai repo? Keep your answer short role: user model: gpt-4o stream: false tool_choice: auto tools: - function: description: Get a list of documentation topics for a GitHub repository name: read_wiki_structure parameters: additionalProperties: false properties: repoName: description: 'GitHub repository: owner/repo (e.g. "facebook/react")' type: string required: - repoName type: object strict: true type: function - function: description: View documentation about a GitHub repository name: read_wiki_contents parameters: additionalProperties: false properties: repoName: description: 'GitHub repository: owner/repo (e.g. "facebook/react")' type: string required: - repoName type: object strict: true type: function - function: description: Ask any question about a GitHub repository name: ask_question parameters: additionalProperties: false properties: question: description: The question to ask about the repository type: string repoName: description: 'GitHub repository: owner/repo (e.g. "facebook/react")' type: string required: - repoName - question type: object strict: true type: function uri: https://api.openai.com/v1/chat/completions response: headers: access-control-expose-headers: - X-Request-ID alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '1158' content-type: - application/json openai-organization: - user-qiwhghkli7eyuue04dfcuswu openai-processing-ms: - '1439' openai-project: - proj_FolEsdAg2erAsN9Ue8WKDILH openai-version: - '2020-10-01' strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: - chunked parsed_body: choices: - finish_reason: tool_calls index: 0 logprobs: null message: annotations: [] content: null refusal: null role: assistant tool_calls: - function: arguments: '{"repoName":"pydantic/pydantic-ai","question":"What is the purpose of this repository?"}' name: ask_question id: call_EDtCZnRG0jsxgyq928jiMBJG type: function created: 1764014939 id: chatcmpl-CfX9nwodB5wVWVJYwdkwjkDTrPRsZ model: gpt-4o-2024-08-06 object: chat.completion service_tier: default system_fingerprint: fp_c98e05ca17 usage: completion_tokens: 32 completion_tokens_details: accepted_prediction_tokens: 0 audio_tokens: 0 reasoning_tokens: 0 rejected_prediction_tokens: 0 prompt_tokens: 181 prompt_tokens_details: audio_tokens: 0 cached_tokens: 0 total_tokens: 213 status: code: 200 message: OK - request: headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '152' content-type: - application/json host: - mcp.deepwiki.com method: POST parsed_body: id: 0 jsonrpc: '2.0' method: initialize params: capabilities: {} clientInfo: name: mcp version: 0.1.0 protocolVersion: '2025-06-18' uri: https://mcp.deepwiki.com/mcp response: body: string: |+ event: message data: {"jsonrpc":"2.0","id":0,"result":{"protocolVersion":"2025-03-26","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"DeepWiki","version":"0.0.1"}}} event: ping data: ping headers: access-control-allow-headers: - Content-Type, mcp-session-id, mcp-protocol-version access-control-allow-methods: - GET, POST, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - mcp-session-id access-control-max-age: - '86400' alt-svc: - h3=":443"; ma=86400 cache-control: - no-cache connection: - keep-alive content-type: - text/event-stream mcp-session-id: - 2b52defa1dd197c4aa061793f1331c6b560e2a3f9c58fa31b9599307d5c80865 nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=X%2FKxtQPVVdqvGuDu%2B9VI35SjQzVxJjHe9z%2Fjvw82bNi4dEfjmkhfmDTV%2Fvr1%2B5O43aTM1HFk7Q88MRfK1E%2FgO8YJQTmL80KyBxk0JOti%2FznpsMoHBT9GH%2B2sfdNwdfM9LbxaXQ%3D%3D"}]}' transfer-encoding: - chunked vary: - accept-encoding status: code: 200 message: OK - request: body: '' headers: accept: - application/json, text/event-stream, text/event-stream accept-encoding: - gzip, deflate cache-control: - no-store connection: - keep-alive content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 2b52defa1dd197c4aa061793f1331c6b560e2a3f9c58fa31b9599307d5c80865 method: GET uri: https://mcp.deepwiki.com/mcp response: body: string: '{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed"},"id":null}' headers: alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '82' content-type: - text/plain;charset=UTF-8 nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=I1NQWxFsRuawkpDe%2FwCJsFpsBR6iPT9h%2BK53Vppl9AWJ2FIZ4DryqUJ%2FtaeVgEawpEYosKyTgr7Q2IJYP8Yg80NVitE8z3aHQv%2FTt%2BlVOk34tGaxDpebf2SYDvLwtYtfxURpQA%3D%3D"}]}' vary: - accept-encoding status: code: 405 message: Method Not Allowed - request: headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '54' content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 2b52defa1dd197c4aa061793f1331c6b560e2a3f9c58fa31b9599307d5c80865 method: POST parsed_body: jsonrpc: '2.0' method: notifications/initialized uri: https://mcp.deepwiki.com/mcp response: body: string: '' headers: access-control-allow-headers: - Content-Type, mcp-session-id, mcp-protocol-version access-control-allow-methods: - GET, POST, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - mcp-session-id access-control-max-age: - '86400' alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '0' nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=M8MOdb67xx3%2BO4mFga35v%2Fns%2BEhp6mvYQ%2Fb3d23eOeYZhsst45StuQupDfKGImOVNrkAx1eDY9SnbMBv57ZmbrvYgM5z2MRRj0Y0MoJb7js%2BZWvhHNHaZA2ArJlqHBBIDKIIhQ%3D%3D"}]}' vary: - accept-encoding status: code: 202 message: Accepted - request: headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '208' content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 2b52defa1dd197c4aa061793f1331c6b560e2a3f9c58fa31b9599307d5c80865 method: POST parsed_body: id: 1 jsonrpc: '2.0' method: tools/call params: _meta: progressToken: 1 arguments: question: What is the purpose of this repository? repoName: pydantic/pydantic-ai name: ask_question uri: https://mcp.deepwiki.com/mcp response: body: string: |+ event: message data: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"This repository, `pydantic/pydantic-ai`, is a Python agent framework designed for building production-grade Generative AI applications . It emphasizes type-safety, a model-agnostic design, and an ergonomic developer experience .\n\n## Core Purpose and Features\n\nThe primary purpose of `pydantic-ai` is to simplify the development of robust and reliable Generative AI applications by abstracting away complexities associated with different Large Language Model (LLM) providers and managing agent workflows .\n\nKey features include:\n* **Type-safe Agents**: Agents are defined using `Agent[Deps, Output]` for compile-time validation, leveraging Pydantic for output validation and dependency injection .\n* **Model-Agnostic Design**: It supports over 15 LLM providers through a unified `Model` interface, allowing for easy switching between different models and providers .\n* **Structured Outputs**: Automatic Pydantic validation and self-correction ensure structured and reliable outputs from LLMs .\n* **Comprehensive Observability**: Integration with OpenTelemetry and native Logfire provides real-time debugging, performance monitoring, and cost tracking .\n* **Production-ready Tooling**: This includes an evaluation framework (`pydantic-evals`), durable execution capabilities, and various protocol integrations like MCP, A2A, and AG-UI .\n* **Graph Support**: It provides a way to define graphs using type hints for complex applications .\n\n## Framework Architecture\n\nThe framework is structured as a UV workspace monorepo, containing several packages .\n\n### Core Packages\n* `pydantic-ai-slim`: Contains the core framework components such as `Agent`, `Model`, and tools .\n* `pydantic-ai`: A meta-package that includes all optional extras .\n\n### Supporting Packages\n* `pydantic-graph`: Provides the graph execution engine with `Graph` and `BaseNode` .\n* `pydantic-evals`: An evaluation framework for datasets and evaluators .\n* `examples`: Contains example applications .\n* `clai`: Provides a CLI interface .\n\n## Agent Execution Flow\n\nThe `Agent` class serves as the primary orchestrator . Agent execution is graph-based, utilizing a state machine from `pydantic_graph.Graph` . The execution involves three core node types: `UserPromptNode`, `ModelRequestNode`, and `CallToolsNode` .\n\n## Notes\nThe `CLAUDE.md` file provides guidance for Claude Code when working with the repository, outlining development commands and project architecture . The `mkdocs.yml` file defines the structure and content of the project's documentation .\n\nWiki pages you might want to explore:\n- [Model Architecture and Provider System (pydantic/pydantic-ai)](/wiki/pydantic/pydantic-ai#3.1)\n\nView this search on DeepWiki: https://deepwiki.com/search/what-is-the-purpose-of-this-re_241322e9-8258-4e2e-910e-f01c465ecb86\n"}]}} event: ping data: ping headers: access-control-allow-headers: - Content-Type, mcp-session-id, mcp-protocol-version access-control-allow-methods: - GET, POST, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - mcp-session-id access-control-max-age: - '86400' alt-svc: - h3=":443"; ma=86400 cache-control: - no-cache connection: - keep-alive content-type: - text/event-stream mcp-session-id: - 2b52defa1dd197c4aa061793f1331c6b560e2a3f9c58fa31b9599307d5c80865 nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=m8Hif7QGknn5nAmRrcyNRjZzERG%2BgP%2FX5E4KTobquFga3fr1RZxhaiswYatl4tEtv6dwQ8WIOnIm6vEs9W52gT%2FU7vVq8EmB%2BzS8uv6iqaBvB6qjqFc3MbJZJDnNPt%2BR76qWnQ%3D%3D"}]}' transfer-encoding: - chunked vary: - accept-encoding status: code: 200 message: OK - request: headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '46' content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 2b52defa1dd197c4aa061793f1331c6b560e2a3f9c58fa31b9599307d5c80865 method: POST parsed_body: id: 2 jsonrpc: '2.0' method: tools/list uri: https://mcp.deepwiki.com/mcp response: body: string: |+ event: message data: {"jsonrpc":"2.0","id":2,"result":{"tools":[{"name":"read_wiki_structure","description":"Get a list of documentation topics for a GitHub repository","inputSchema":{"type":"object","properties":{"repoName":{"type":"string","description":"GitHub repository: owner/repo (e.g. \"facebook/react\")"}},"required":["repoName"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"read_wiki_contents","description":"View documentation about a GitHub repository","inputSchema":{"type":"object","properties":{"repoName":{"type":"string","description":"GitHub repository: owner/repo (e.g. \"facebook/react\")"}},"required":["repoName"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"ask_question","description":"Ask any question about a GitHub repository","inputSchema":{"type":"object","properties":{"repoName":{"type":"string","description":"GitHub repository: owner/repo (e.g. \"facebook/react\")"},"question":{"type":"string","description":"The question to ask about the repository"}},"required":["repoName","question"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}]}} event: ping data: ping headers: access-control-allow-headers: - Content-Type, mcp-session-id, mcp-protocol-version access-control-allow-methods: - GET, POST, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - mcp-session-id access-control-max-age: - '86400' alt-svc: - h3=":443"; ma=86400 cache-control: - no-cache connection: - keep-alive content-type: - text/event-stream mcp-session-id: - 2b52defa1dd197c4aa061793f1331c6b560e2a3f9c58fa31b9599307d5c80865 nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=YusNDpHXuywKYRDnGYRg%2F7DCQDiCEFpIOPCjSLzac07NlSL%2BBu6ZNMq937Z3h5JE3Tw3tn90j5ZwmWDNqzfK3OdE4NK02MeiaoCD50Ss%2FXMNL7hhgrSXDgaaApaMhPVbrsRRug%3D%3D"}]}' transfer-encoding: - chunked vary: - accept-encoding status: code: 200 message: OK - request: body: '' headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 2b52defa1dd197c4aa061793f1331c6b560e2a3f9c58fa31b9599307d5c80865 method: DELETE uri: https://mcp.deepwiki.com/mcp response: body: string: '{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed"},"id":null}' headers: alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '82' content-type: - text/plain;charset=UTF-8 nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=O7cSbHewvP%2Bk6qcR3Z7XTEoYwgIstKOgU3gOSvYIRd%2BzmvFHPrJzb%2BTcYqGx5T3qQw7g8uQQKc1wOrQHIOmu6i0yeyq1u81PvtNuwLL8aWfDEbuqCLjwtt%2BpBlFi5%2BafdKs%3D"}]}' vary: - accept-encoding status: code: 405 message: Method Not Allowed - request: headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '152' content-type: - application/json host: - mcp.deepwiki.com method: POST parsed_body: id: 0 jsonrpc: '2.0' method: initialize params: capabilities: {} clientInfo: name: mcp version: 0.1.0 protocolVersion: '2025-06-18' uri: https://mcp.deepwiki.com/mcp response: body: string: |+ event: message data: {"jsonrpc":"2.0","id":0,"result":{"protocolVersion":"2025-03-26","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"DeepWiki","version":"0.0.1"}}} event: ping data: ping headers: access-control-allow-headers: - Content-Type, mcp-session-id, mcp-protocol-version access-control-allow-methods: - GET, POST, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - mcp-session-id access-control-max-age: - '86400' alt-svc: - h3=":443"; ma=86400 cache-control: - no-cache connection: - keep-alive content-type: - text/event-stream mcp-session-id: - 558d41d1ec81bf6ccf48110eb8d3b8151790109d7c4a684a22199a9d6e7b357c nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=LrYc6BEXlONzW56dmuwDvT0%2Fb3gytV1%2BjBhBkUbM8jezwg1tDtXh%2FcWKNLpDjlwLvQy%2BW3twuwtZs2Y8dkeNsYJ%2FgO5P2cekjJCSOytZOMbmWvoy4QAU4PAm0FCwBEgrsdSXvg%3D%3D"}]}' transfer-encoding: - chunked vary: - accept-encoding status: code: 200 message: OK - request: body: '' headers: accept: - application/json, text/event-stream, text/event-stream accept-encoding: - gzip, deflate cache-control: - no-store connection: - keep-alive content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 558d41d1ec81bf6ccf48110eb8d3b8151790109d7c4a684a22199a9d6e7b357c method: GET uri: https://mcp.deepwiki.com/mcp response: body: string: '{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed"},"id":null}' headers: alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '82' content-type: - text/plain;charset=UTF-8 nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=kvWv4b0JwV%2BCRKC71dW1fZthOxW%2BlqasEp%2FN4UuZW2zWy0UeOSQnTuE9gH1dA%2FCmbVkIV%2FKJdpTdv0OlBLlF4c1UykyLyS9YjOATPTWGLk1lm2ocSYp1sID46sVFpM7rQvhO7g%3D%3D"}]}' vary: - accept-encoding status: code: 405 message: Method Not Allowed - request: headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '54' content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 558d41d1ec81bf6ccf48110eb8d3b8151790109d7c4a684a22199a9d6e7b357c method: POST parsed_body: jsonrpc: '2.0' method: notifications/initialized uri: https://mcp.deepwiki.com/mcp response: body: string: '' headers: access-control-allow-headers: - Content-Type, mcp-session-id, mcp-protocol-version access-control-allow-methods: - GET, POST, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - mcp-session-id access-control-max-age: - '86400' alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '0' nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=p89AKBFiJM4kEOH8p3wzrybyt34jyuX%2FpXH%2FhV4kFurbmZstx%2BNlibZ%2BRkhbeuWZODSlj84k3qUWvchSMis23c3p1DsLDXQiPaeBsx2AJbVra8Tzu73GxcpsD6xtF6Lsv%2F6l%2FQ%3D%3D"}]}' vary: - accept-encoding status: code: 202 message: Accepted - request: headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '46' content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 558d41d1ec81bf6ccf48110eb8d3b8151790109d7c4a684a22199a9d6e7b357c method: POST parsed_body: id: 1 jsonrpc: '2.0' method: tools/list uri: https://mcp.deepwiki.com/mcp response: body: string: |+ event: message data: {"jsonrpc":"2.0","id":1,"result":{"tools":[{"name":"read_wiki_structure","description":"Get a list of documentation topics for a GitHub repository","inputSchema":{"type":"object","properties":{"repoName":{"type":"string","description":"GitHub repository: owner/repo (e.g. \"facebook/react\")"}},"required":["repoName"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"read_wiki_contents","description":"View documentation about a GitHub repository","inputSchema":{"type":"object","properties":{"repoName":{"type":"string","description":"GitHub repository: owner/repo (e.g. \"facebook/react\")"}},"required":["repoName"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"ask_question","description":"Ask any question about a GitHub repository","inputSchema":{"type":"object","properties":{"repoName":{"type":"string","description":"GitHub repository: owner/repo (e.g. \"facebook/react\")"},"question":{"type":"string","description":"The question to ask about the repository"}},"required":["repoName","question"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}]}} event: ping data: ping headers: access-control-allow-headers: - Content-Type, mcp-session-id, mcp-protocol-version access-control-allow-methods: - GET, POST, OPTIONS access-control-allow-origin: - '*' access-control-expose-headers: - mcp-session-id access-control-max-age: - '86400' alt-svc: - h3=":443"; ma=86400 cache-control: - no-cache connection: - keep-alive content-type: - text/event-stream mcp-session-id: - 558d41d1ec81bf6ccf48110eb8d3b8151790109d7c4a684a22199a9d6e7b357c nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=GWreUxa%2BrRuMvPUJ%2BNGxTbBydGzk%2FwWCeNLvF6RPU0kjQBCIhi4lEMMpEVZpzeOEVyq%2B%2FEi71V7LVG01OOx8gqwxdMirk3Ph50ITZA1z1OnmIPEQUu4r97J5M6I%2BZpSPMZe5ZQ%3D%3D"}]}' transfer-encoding: - chunked vary: - accept-encoding status: code: 200 message: OK - request: body: '' headers: accept: - application/json, text/event-stream accept-encoding: - gzip, deflate connection: - keep-alive content-type: - application/json host: - mcp.deepwiki.com mcp-protocol-version: - '2025-03-26' mcp-session-id: - 558d41d1ec81bf6ccf48110eb8d3b8151790109d7c4a684a22199a9d6e7b357c method: DELETE uri: https://mcp.deepwiki.com/mcp response: body: string: '{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed"},"id":null}' headers: alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '82' content-type: - text/plain;charset=UTF-8 nel: - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}' report-to: - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=a0lAlaDm%2Bbn6JOATcmQujfLYoUo84myHqAKX3mU7tfedAIK7XqpPWFe47TtPk8nRKynb3IJmNEy9y016eYAyjoe0KNgmI7x%2B9DwCuGOeJDnZFQG42FIURdgVvfKSNyO6xfyJFw%3D%3D"}]}' vary: - accept-encoding status: code: 405 message: Method Not Allowed - request: headers: accept: - application/json accept-encoding: - gzip, deflate connection: - keep-alive content-length: - '4479' content-type: - application/json cookie: - __cf_bm=X99JvV5PaEco78gYNsYocibSNiWSRiiv704_6zhCXrg-1764014941-1.0.1.1-4X1EPfbe3UfL2A2LBc2lGPyw5KOrAGKZgEYoOi1nrp4oJPbarFGranBbD3rUCgpfh203D2SH9VD9AeKBAXH72tSgheJtnlnJ0xjy9rBAK0I; _cfuvid=.le5meiK_bA3qGdN_FSrcweCH9_gOIGSxzVImcEDvc4-1764014941162-0.0.1.1-604800000 host: - api.openai.com method: POST parsed_body: messages: - content: Can you tell me more about the pydantic/pydantic-ai repo? Keep your answer short role: user - content: null role: assistant tool_calls: - function: arguments: '{"repoName":"pydantic/pydantic-ai","question":"What is the purpose of this repository?"}' name: ask_question id: call_EDtCZnRG0jsxgyq928jiMBJG type: function - content: | This repository, `pydantic/pydantic-ai`, is a Python agent framework designed for building production-grade Generative AI applications . It emphasizes type-safety, a model-agnostic design, and an ergonomic developer experience . ## Core Purpose and Features The primary purpose of `pydantic-ai` is to simplify the development of robust and reliable Generative AI applications by abstracting away complexities associated with different Large Language Model (LLM) providers and managing agent workflows . Key features include: * **Type-safe Agents**: Agents are defined using `Agent[Deps, Output]` for compile-time validation, leveraging Pydantic for output validation and dependency injection . * **Model-Agnostic Design**: It supports over 15 LLM providers through a unified `Model` interface, allowing for easy switching between different models and providers . * **Structured Outputs**: Automatic Pydantic validation and self-correction ensure structured and reliable outputs from LLMs . * **Comprehensive Observability**: Integration with OpenTelemetry and native Logfire provides real-time debugging, performance monitoring, and cost tracking . * **Production-ready Tooling**: This includes an evaluation framework (`pydantic-evals`), durable execution capabilities, and various protocol integrations like MCP, A2A, and AG-UI . * **Graph Support**: It provides a way to define graphs using type hints for complex applications . ## Framework Architecture The framework is structured as a UV workspace monorepo, containing several packages . ### Core Packages * `pydantic-ai-slim`: Contains the core framework components such as `Agent`, `Model`, and tools . * `pydantic-ai`: A meta-package that includes all optional extras . ### Supporting Packages * `pydantic-graph`: Provides the graph execution engine with `Graph` and `BaseNode` . * `pydantic-evals`: An evaluation framework for datasets and evaluators . * `examples`: Contains example applications . * `clai`: Provides a CLI interface . ## Agent Execution Flow The `Agent` class serves as the primary orchestrator . Agent execution is graph-based, utilizing a state machine from `pydantic_graph.Graph` . The execution involves three core node types: `UserPromptNode`, `ModelRequestNode`, and `CallToolsNode` . ## Notes The `CLAUDE.md` file provides guidance for Claude Code when working with the repository, outlining development commands and project architecture . The `mkdocs.yml` file defines the structure and content of the project's documentation . Wiki pages you might want to explore: - [Model Architecture and Provider System (pydantic/pydantic-ai)](/wiki/pydantic/pydantic-ai#3.1) View this search on DeepWiki: https://deepwiki.com/search/what-is-the-purpose-of-this-re_241322e9-8258-4e2e-910e-f01c465ecb86 role: tool tool_call_id: call_EDtCZnRG0jsxgyq928jiMBJG model: gpt-4o stream: false tool_choice: auto tools: - function: description: Get a list of documentation topics for a GitHub repository name: read_wiki_structure parameters: additionalProperties: false properties: repoName: description: 'GitHub repository: owner/repo (e.g. "facebook/react")' type: string required: - repoName type: object strict: true type: function - function: description: View documentation about a GitHub repository name: read_wiki_contents parameters: additionalProperties: false properties: repoName: description: 'GitHub repository: owner/repo (e.g. "facebook/react")' type: string required: - repoName type: object strict: true type: function - function: description: Ask any question about a GitHub repository name: ask_question parameters: additionalProperties: false properties: question: description: The question to ask about the repository type: string repoName: description: 'GitHub repository: owner/repo (e.g. "facebook/react")' type: string required: - repoName - question type: object strict: true type: function uri: https://api.openai.com/v1/chat/completions response: headers: access-control-expose-headers: - X-Request-ID alt-svc: - h3=":443"; ma=86400 connection: - keep-alive content-length: - '1360' content-type: - application/json openai-organization: - user-qiwhghkli7eyuue04dfcuswu openai-processing-ms: - '1645' openai-project: - proj_FolEsdAg2erAsN9Ue8WKDILH openai-version: - '2020-10-01' strict-transport-security: - max-age=31536000; includeSubDomains; preload transfer-encoding: - chunked parsed_body: choices: - finish_reason: stop index: 0 logprobs: null message: annotations: [] content: The `pydantic/pydantic-ai` repository is a Python agent framework designed for building production-grade Generative AI applications. It emphasizes type-safety, a model-agnostic design, and an ergonomic developer experience. Key features include type-safe agents using Pydantic, support for over 15 LLM providers, structured outputs with automatic validation, comprehensive observability, and production-ready tooling. The framework is structured as a UV workspace monorepo with core and supporting packages for defining and executing complex applications. refusal: null role: assistant created: 1764015003 id: chatcmpl-CfXAp6XCtEbu5AGWbOAXB91w2nxTQ model: gpt-4o-2024-08-06 object: chat.completion service_tier: default system_fingerprint: fp_cbf1785567 usage: completion_tokens: 104 completion_tokens_details: accepted_prediction_tokens: 0 audio_tokens: 0 reasoning_tokens: 0 rejected_prediction_tokens: 0 prompt_tokens: 834 prompt_tokens_details: audio_tokens: 0 cached_tokens: 0 total_tokens: 938 status: code: 200 message: OK version: 1

Latest Blog Posts

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/pydantic/pydantic-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server