Code: Select all
# server.py
from mcp.server.fastmcp import FastMCP
# Create an MCP server
mcp = FastMCP("Demo")
# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
Ich habe UV verwendet, um die virtuelle Umgebung im Stammordner zu initialisieren. Installierte Projektabhängigkeiten mit UV hinzufügen "mcp [cli]" < /code>, wie in der Anleitung des Repos gesagt. />c:\users...\appdata\roaming\NPM
├── @modelContextProtocol /Inspector @0.10.2
├── @modelContextProtocol /server-brave-search @0.6.2
├─üb @modelContex /server System25. & mgr; 28SYSTEM @2. & mgr; 28SYSTEMSYSTEM @2. & mgr; 28SYSTEMSYSTEM @2. & nd. /> └── @modelContextProtocol /server-memory @0.6.2 < /li>
< />
Meine Aktionen zum Ausführen des Server
Code: Select all
mcp dev src/server.py
Code: Select all
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀
3. Auf der Seite ist die STDIO -Trasport -Methode bereits festgelegt. Es gibt auch einen Befehl uv mit Argumenten ausgeführt -mit MCP MCP -Ausführen src/server.py (siehe den beigefügten Screenshot), also klicke ich auf die Schaltfläche "Verbinden". Auf der Benutzeroberfläche passiert nichts, aber in den Protokollen in der Konsole sehe ich < /p>
New SSE connection
Query parameters: [Object: null prototype] {
transportType: 'stdio',
command: 'uv',
args: 'run --with mcp mcp run src/server.py',
env: '{ ... # all my env variables, PATH and etc.}'
}
Stdio transport: command=C:\Users\...\.local\bin\uv.exe, args=run,--with,mcp,mcp,run,src/server.py
Spawned stdio transport
Connected MCP client to backing server transport
Created web app transport
Created web app transport
Set up MCP proxy
< /code>
Ich klicke erneut auf "Connect" -Taste (siehe den angehängten Screenshot) und sehen Sie den Verbindungsfehler an, ist Ihr MCP -Server ausgeführt? auf UI und Folgendes in Protokollen: < /li>
< /ol>
New SSE connection
Query parameters: [Object: null prototype] {
transportType: 'stdio',
command: 'uv',
args: 'run --with mcp mcp run src/server.py',
env: '{...}'
}
Stdio transport: command=C:\Users\...\.local\bin\uv.exe, args=run,--with,mcp,mcp,run,src/server.py
Spawned stdio transport
Connected MCP client to backing server transport
Created web app transport
Created web app transport
Set up MCP proxy
Received message for sessionId 5ed68d2c-6c0f-47e7-9972-3fe99c43a630
Error in /message route: Error: SSE connection not established
at SSEServerTransport.handlePostMessage (file:///C:/Users/.../AppData/Roaming/npm/node_modules/@modelcontextprotocol/inspector/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sse.js:61:19)
at file:///C:/Users/.../AppData/Roaming/npm/node_modules/@modelcontextprotocol/inspector/server/build/index.js:130:25
at Layer.handleRequest (C:\Users\...\AppData\Roaming\npm\node_modules\@modelcontextprotocol\inspector\node_modules\router\lib\layer.js:152:17)
at next (C:\Users\...\AppData\Roaming\npm\node_modules\@modelcontextprotocol\inspector\node_modules\router\lib\route.js:157:13)
at Route.dispatch (C:\Users\...\AppData\Roaming\npm\node_modules\@modelcontextprotocol\inspector\node_modules\router\lib\route.js:117:3)
at handle (C:\Users\...\AppData\Roaming\npm\node_modules\@modelcontextprotocol\inspector\node_modules\router\index.js:435:11)
at Layer.handleRequest (C:\Users\...\AppData\Roaming\npm\node_modules\@modelcontextprotocol\inspector\node_modules\router\lib\layer.js:152:17)
at C:\Users\...\AppData\Roaming\npm\node_modules\@modelcontextprotocol\inspector\node_modules\router\index.js:295:15
at processParams (C:\Users\...\AppData\Roaming\npm\node_modules\@modelcontextprotocol\inspector\node_modules\router\index.js:582:12)
at next (C:\Users\...\AppData\Roaming\npm\node_modules\@modelcontextprotocol\inspector\node_modules\router\index.js:291:5)
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at ServerResponse.setHeader (node:_http_outgoing:699:11)
at ServerResponse.header (C:\Users\...\AppData\Roaming\npm\node_modules\@modelcontextprotocol\inspector\node_modules\express\lib\response.js:684:10)
at ServerResponse.json (C:\Users\...\AppData\Roaming\npm\node_modules\@modelcontextprotocol\inspector\node_modules\express\lib\response.js:247:10)
at file:///C:/Users/.../AppData/Roaming/npm/node_modules/@modelcontextprotocol/inspector/server/build/index.js:134:25
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
< /code>
p.s. Ich habe versucht, < /p>
hinzuzufügen.if __name__ == "__main__":
mcp.run(transport='stdio')
< /code>
Am Ende des Servers. Danke!
MCP Inspector UI Page Screenshot