SDK MCP Server
A configurable Model Context Protocol (MCP) server that provides searchable access to multiple AI/ML SDK documentation and source code. Currently supports OpenAI Agents SDK and Google ADK, with easy extensibility for additional SDKs.
Purpose
When working with AI/ML SDKs, you often need to:
- Understand how classes and methods work internally across different SDKs
- Compare implementations between different frameworks
- Find the right method signatures and parameters
- See real implementation examples
- Debug issues by examining SDK source code
This MCP server gives AI assistants like Claude instant access to multiple SDK sources, making it a powerful development companion for multi-SDK projects.
Quick Start
- Install dependencies:
pip install -r requirements.txt
- Download SDK sources:
python src/download_sdk.py
This will download all configured SDKs from sdks.yaml
.
- Configure in Claude Desktop:
Add to your Claude Desktop configuration:
{
"mcpServers": {
"sdk-mcp-server": {
"command": "python",
"args": ["/absolute/path/to/sdk-mcp-server/src/server.py"]
}
}
}
Available Tools
Each configured SDK gets its own set of tools with the SDK prefix. Currently configured:
OpenAI Agents SDK Tools (prefix: openai_agents_
)
openai_agents_list_files()
- List all available OpenAI SDK source filesopenai_agents_get_source(filename)
- Get source code of specific fileopenai_agents_search_code(query)
- Search for terms, methods, or patternsopenai_agents_get_class(class_name)
- Extract complete class definitionopenai_agents_find_examples(topic)
- Find usage examples and patterns
Google ADK Tools (prefix: google_adk_
)
google_adk_list_files()
- List all available Google ADK source filesgoogle_adk_get_source(filename)
- Get source code of specific filegoogle_adk_search_code(query)
- Search for terms, methods, or patternsgoogle_adk_get_class(class_name)
- Extract complete class definitiongoogle_adk_find_examples(topic)
- Find usage examples and patterns
Cross-SDK Tools (coming soon)
list_available_sdks()
- Show all configured SDKssearch_all_sdks(query)
- Search across all SDKs simultaneouslycompare_implementations(concept, sdk_ids)
- Compare similar concepts across SDKs
Usage Examples
Comparing SDKs:
You: "How do OpenAI and Google handle agent creation differently?"
Claude: [Uses openai_agents_get_class("Agent") and google_adk_get_class("Agent")]
*Compares the different approaches and APIs*
Learning a new SDK:
You: "Show me how to use tools in Google ADK"
Claude: [Uses google_adk_search_code("tool") and google_adk_find_examples("tool")]
*Explains Google's approach with real examples*
Debugging across SDKs:
You: "Why does handoff work in OpenAI but not in my Google ADK code?"
Claude: [Searches both SDKs for handoff implementations]
*Identifies the differences and helps fix the issue*
Configuration
Adding a New SDK
Edit sdks.yaml
to add new SDKs:
sdks:
your_sdk:
name: "Your SDK Name"
description: "Description of the SDK"
source:
type: "github"
repo: "org/repo-name"
branch: "main"
path: "src"
file_patterns:
- "**/*.py"
tools:
prefix: "your_sdk"
descriptions:
list_files: "List all Your SDK source files"
# ... other tool descriptions
Supported Source Types
- GitHub repositories - Public repos with Python/TypeScript code
- Direct URLs (coming soon) - ZIP/TAR archives
- Local paths (coming soon) - Local SDK installations
File Structure
sdk-mcp-server/
├── src/
│ ├── server.py # Main MCP server implementation
│ └── download_sdk.py # SDK downloader and indexer
├── data/ # Downloaded SDK files (git-ignored)
│ ├── openai_agents/ # OpenAI SDK files
│ └── google_adk/ # Google ADK files
├── sdks.yaml # SDK configuration
├── requirements.txt # Python dependencies
└── run_server.sh # Server startup script
Updating
To get the latest SDK sources:
python src/download_sdk.py
This fetches the latest code from all configured SDKs in sdks.yaml
.
Tips for Best Results
- Specify the SDK - Mention which SDK you're working with
- Use SDK prefixes - Each tool is prefixed with the SDK name
- Compare implementations - Ask about differences between SDKs
- Request examples - Each SDK has example-finding capabilities
Why This Helps
- Multi-SDK support - Work with multiple frameworks seamlessly
- Instant answers - No need to browse multiple repos or docs
- Direct comparisons - See how different SDKs solve similar problems
- Accurate information - Always from the latest source code
- Context-aware - AI understands full implementations across SDKs
Contributing
To add support for a new SDK:
- Add configuration to
sdks.yaml
- Test with
python src/download_sdk.py
- Submit a pull request
License
MIT License - see LICENSE file for details.