A flexible MCP (Model Context Protocol) server implementation in Kotlin that supports both A2A and MCP protocols.
This agent is built using a2ajava library, which is a "swiss knife" for building agentic applications in multiple languages such as Java and Kotlin, supporting multiple protocols.
- Dual protocol support (A2A and MCP)
- Multiple connection methods
- Standard MCP compliance
- Extensible agent system
- Built-in example agents (Route Planner, Weather Agent)
This works with visual studio agent for tools calling
{
"routeplanningagent": {
"url": "http://localhost:8080"
}
}
{
"routeplanningagent": {
"command": "java",
"args": [
"-jar",
"/work/a2a-mcp-bridge/target/mcp-connector-full.jar",
"http://localhost:8080"
],
"timeout": 30000
}
}
{
"routeplanningagent": {
"command": "node",
"args": [
"/work/mcp-kotlin/src/main/resources/mcpserver.js"
]
}
}
{
"routeplanningagent": {
"command": "node",
"args": [
"/work/mcp-kotlin/src/main/resources/a2ajava.cjs",
"http://localhost:8080"
],
"timeout": 30000
}
}
GET /v1/tools
Lists all available tools with their schemas. Returns a JSON object with a "tools" array.
POST /v1/tools/call
Executes a specific tool with given parameters. Accepts a JSON body with "name", "parameters", and "request_id".
Shows the integration between the MCP server and Claude's interface.
Demonstrates the process flow of how tools are called from the client to the server.
Illustrates an example of a tool being called with specific parameters.
Shows how the MCP server integrates with Claude's chat interface.
Displays the available tools in Claude's interface.
Shows the list of available tools returned by the
/v1/tools
endpoint.
- Clone the repository
- Build the project using Gradle
- Configure your connection method
- Start the server
- Test the endpoints using provided example agents
This project is licensed under the terms provided in the LICENSE file.