Skip to main content
Glama
vmridul

my-server

by vmridul

my-server

Ein MCP-Server mit einem Wetter-Widget. server.tool({ widget: { dir: "weather" } }) zeigt auf src/widgets/weather/ (React). mcpfy-sdk bündelt es — kein server.widget(), keine HTML-Datei, kein Prompt/Resource erforderlich.

Das weather-Tool ruft die Temperatur von Open-Meteo auf dem Server ab. Die Suche im Widget ruft dieses Tool über den Host auf (callTool) — das iframe ruft die API nicht per fetch auf.

Falls main.tsx später eine andere Origin per fetch abruft, kommentiere widget.csp.connectDomains in src/server.ts aus. ChatGPT und Claude wenden es an; Inspector oft nicht.

Ausführen

Lokal (startet den MCP-Server; Widgets werden beim Serverstart gebündelt — kein separater Build vorab):

npm run dev          # default transport: http
npm run dev:stdio
npm run dev:http     # HTTP on port 4000

Produktion / ChatGPT (iframes können ein einmaliges dev-Bundle nicht auf dieselbe Weise verwenden):

npm run build        # mcpfy build && tsc
npm start

Related MCP server: EightyAndSunny

In einem MCP-Host verwenden

{
  "mcpServers": {
    "my-server": {
      "command": "npx",
      "args": ["mcpfy", "dev", "--", "--stdio"],
      "cwd": "/absolute/path/to/this-project"
    }
  }
}

Nächste Schritte

  • UI: src/widgets/weather/main.tsx (mcpfy-sdk/widget-Hooks)

  • Tools ohne UI: widget bei server.tool() weglassen

  • mcpfy-Dokumentation

Related MCP Connectors

Related MCP Servers