loading…
Search for a command to run...
loading…
A demonstration server that implements JSON-RPC 2.0 methods for basic arithmetic using FastAPI. It provides integration examples for the Model Context Protocol
A demonstration server that implements JSON-RPC 2.0 methods for basic arithmetic using FastAPI. It provides integration examples for the Model Context Protocol (MCP) using FastMCP to connect with Claude Desktop.
This project implements a simple JSON-RPC server using FastAPI, Uvicorn, and jsonrpcserver in Python. It exposes add and multiply methods.
Clone the repository:
git clone <your-repo-url>
cd json-rpc-server
Create a virtual environment and install dependencies using uv:
uv venv
.\.venv\Scripts\activate # On Windows
# source .venv/bin/activate # On Linux/macOS
uv pip install fastapi uvicorn jsonrpcserver
To start the development server with auto-reloading:
.\.venv\Scripts\activate # On Windows
# source .venv/bin/activate # On Linux/macOS
uv run python -m uvicorn main:app --reload
The server will run at http://127.0.0.1:8000/.
A simple test endpoint to confirm the server is running.
Request:
# Using curl (Linux/macOS/Git Bash)
curl http://127.0.0.1:8000/
# Using Invoke-RestMethod (PowerShell)
Invoke-RestMethod -Uri "http://127.0.0.1:8000/" -Method Get
Response:
{
"message": "FastAPI is running!"
}
This is the main JSON-RPC endpoint for add and multiply methods.
Request:
# Using curl
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "method": "add", "params": [2, 3], "id": 1}' http://127.0.0.1:8000/
# Using Invoke-RestMethod (PowerShell)
Invoke-RestMethod -Uri "http://127.0.0.1:8000/" -Method Post -Headers @{ "Content-Type" = "application/json" } -Body '{"jsonrpc":"2.0","method":"add","params":[2,3],"id":1}'
Response (Example):
{"jsonrpc": "2.0", "result": 5, "id": 1}
Request:
# Using curl
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "method": "multiply", "params": [4, 5], "id": 1}' http://127.0.0.1:8000/
# Using Invoke-RestMethod (PowerShell)
Invoke-RestMethod -Uri "http://127.0.0.1:8000/" -Method Post -Headers @{ "Content-Type" = "application/json" } -Body '{"jsonrpc":"2.0","method":"multiply","params":[4,5],"id":1}'
Response (Example):
{"jsonrpc": "2.0", "result": 20, "id": 1}
curl -X POST -H "Content-Type: application/json" -d '[{"jsonrpc": "2.0", "method": "add", "params": [2, 3], "id": 1},{"jsonrpc": "2.0", "method": "multiply", "params": [2, 30], "id": 2}]' http://127.0.0.1:8000/
Invoke-RestMethod -Uri "http://127.0.0.1:8000/" -Method Post -Headers @{ "Content-Type" = "application/json" } -Body '[{"jsonrpc":"2.0","method":"add","params":[2,3],"id":1},{"jsonrpc":"2.0","method":"multiply","params":[2,30],"id":2}]'
uv add fastmcp
uv run fastmcp dev inspector TestMPCserver.py
uv run fastmcp run TestMPCserver.py
uv run fastmcp install claude-desktop TestMPCserver.py
uv run fastmcp run DataprovidersMCPServer.py
uv run fastmcp install claude-desktop DataprovidersMCPServer.py
uv add langchain langchain-openai langchain-mcp-adapters python-dotenv streamlit logging pandas fastmcp python-dotenv jsonrpcserver uvicorn streamlit langchain-ollama fastapi
uvicorn serversendevent:app
uvicorn Streamable:app
This project includes a streaming HTTP endpoint demonstration using FastAPI's StreamingResponse.
uv run uvicorn Streamable:app --reload
The server will run at http://127.0.0.1:8000/stream and sends 10 chunks with 1-second intervals.
python StreamableClient.py
The client demonstrates both async and synchronous methods to consume the streaming response.
# Using curl (Linux/macOS/Git Bash)
curl http://127.0.0.1:8000/stream
# Using Invoke-RestMethod (PowerShell)
Invoke-RestMethod -Uri "http://127.0.0.1:8000/stream" -Method Get
A launch.json file is provided in the .vscode directory to enable debugging with VS Code. You can set breakpoints in main.py and run the "Python: FastAPI" configuration.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcpserverdemo": {
"command": "npx",
"args": []
}
}
}Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also