-
Notifications
You must be signed in to change notification settings - Fork 8
feat: mcp support #66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Amitha Dissanayake <[email protected]>
Signed-off-by: Amitha Dissanayake <[email protected]>
Signed-off-by: Amitha Dissanayake <[email protected]>
Signed-off-by: Amitha Dissanayake <[email protected]>
Signed-off-by: Amitha Dissanayake <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Introduce Model Context Protocol (MCP) support and expose registered agents as MCP tools, plus an example demonstrating multi-agent MCP usage.
- Add MCP integration: configuration, FastMCP server, REST API mounting, and dynamic exposure of agents as MCP tools with descriptions.
- Add get_description to the BaseAgent contract and implement across agent adapters (OpenAI, CrewAI, LangGraph, ADK).
- Provide an end-to-end example (server, client, tests) for MCP with CI updates and dependency additions.
Reviewed Changes
Copilot reviewed 20 out of 22 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| examples/api/mcp/multi/server.py | Example server wiring OpenAI and CrewAI agents, enabling MCP, and defining a sample MCP tool. |
| examples/api/mcp/multi/pyproject.toml | Example package metadata and dependencies for the MCP demo. |
| examples/api/mcp/multi/mcp_test.py | Async tests validating MCP client-server interaction and tool calls. |
| examples/api/mcp/multi/config.yaml | Enables MCP and agent exposure for the example. |
| examples/api/mcp/multi/client.py | Example MCP HTTP client for listing tools and invoking them. |
| examples/api/mcp/multi/build.sh | Build script for setting up the example environment. |
| examples/api/mcp/multi/README.md | Usage docs for running the MCP demo and tests. |
| ak-py/tests/test_runtime.py | Test scaffolding updated to include the new get_description abstract method. |
| ak-py/src/ak/openai/openai.py | Implements get_description for OpenAI-backed agents. |
| ak-py/src/ak/mcp/akmcp.py | MCP integration: FastMCP builder, dynamic agent tool registration, and HTTP app export. |
| ak-py/src/ak/mcp/init.py | MCP package initialization and export. |
| ak-py/src/ak/langgraph/langgraph.py | Implements get_description for LangGraph agents. |
| ak-py/src/ak/crewai/crewai.py | Implements get_description for CrewAI agents. |
| ak-py/src/ak/core/config.py | Adds MCP config (enable, expose list, URL). |
| ak-py/src/ak/core/base.py | Adds abstract get_description to agent base. |
| ak-py/src/ak/api/restapi.py | Mounts MCP HTTP app and shares lifespan with FastAPI app. |
| ak-py/src/ak/adk/adk.py | Implements get_description for ADK agents; adds TODO for A2A card. |
| ak-py/src/ak/a2a/a2a.py | Minor cleanup in executor. |
| ak-py/pyproject.toml | Bumps FastAPI/Uvicorn versions; adds fastmcp extra. |
| .github/workflows/test.yaml | Extends CI to build and run MCP examples. |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Amitha Dissanayake <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 20 out of 22 changed files in this pull request and generated 7 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Amitha Dissanayake <[email protected]>
No description provided.