Skip to main content
Glama
vmridul

my-server

by vmridul

my-server

날씨 위젯이 포함된 MCP 서버입니다. server.tool({ widget: { dir: "weather" } })는 src/widgets/weather/(React)를 가리킵니다. mcpfy-sdk가 이를 번들링합니다 — server.widget()도, HTML 파일도, 프롬프트/리소스도 필요하지 않습니다.

weather 도구는 서버에서 Open-Meteo로부터 온도를 가져옵니다. 위젯의 조회는 호스트를 통해 해당 도구를 호출합니다(callTool) — iframe은 API를 fetch하지 않습니다.

main.tsx가 나중에 다른 오리진을 fetch하게 되면, src/server.ts에서 widget.csp.connectDomains의 주석을 해제하세요. ChatGPT와 Claude는 이를 적용하지만, Inspector는 종종 적용하지 않습니다.

실행

로컬(MCP 서버를 시작하며, 위젯은 listen 시 번들링됩니다 — 별도의 빌드가 필요 없습니다):

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

프로덕션/ChatGPT(일회성 dev 번들을 iframe에서 사용할 수 없는 경우):

npm run build        # mcpfy build && tsc
npm start

Related MCP server: EightyAndSunny

MCP 호스트에서 사용하기

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

다음 단계

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

  • UI 없이 도구만: server.tool()에서 widget 생략

  • mcpfy 문서

Related MCP Connectors

Related MCP Servers