Skip to main content
Glama

swiss_meteo_mcp

This is an experimental project to learn about MCP + GitHub Copilot, using the latter to create the MCP server code and then access it through the Chat funciton of copilot. I also managed to use the MCP server through Amazon Q chat (see further below).

Journey

  • I prompted the goal as stated above for an initial pass.

  • After uvicorn was used wrongly in the .vscode/mcp.json config, which is for http endpoints, not for stdio ones, debugging back and forth with copilot fixed the issue and I had a running MCP server scaffolded (that were unrelated to swiss meteo):

  • Availabilities:

    • prompt to summarise text, which could either be detailed or brief (/mcp.swiss-meteo-mcp.summarize-notes ).

    • tool to add a note (#add-note).

    • resource to list notes, not accessible explicitly (just implicitly) through copilot chat.

  • One can see below that it works as expected, with autocompletion, after the server was started:

alt text

alt text

  • I wanted to add a tool to get the current weather from swiss meteo (hence the name of the package), but there is no official API I found out with copilot chat.

  • I then asked for a few alternatives and decided to go with wttr.io and let copilot implement it.

  • I also factored out some functionality so I could let copilot write a simple unit test that worked.

  • So my own new tool is #get-temperature

Lessons Learned

in general

  • Building an MPC server seems a standard task. GitHub Copilot managed kind of well, but not flawless.

  • Integration of mcp servers is working well with copilot it seems.

  • Invocation of tools and resources is possible implicitly or explicitly. When used, it is communicated transparently in the copilot chat.

  • MCP servers can run locally (with like uv run or container isolation) or remotely.

  • MCP prompts are really just parametrised snippets.

  • resources are read-only info.

  • tools are supposed to have side effects.

GitHub Copilot

  • can also write git commit messages (not so impressive)

  • used 20% of free code suggestions in one day (and might be used for retraining).

Amazon Q

  • Can discover MCP server in .vscode/mcp.json in own project, start it when a relevant question is asked in the Q chat and use the tool to answer the question, but using Python source package not MCP tool over stdio.

  • to use the mcp server outside the source repo, we had to put the mcp.json file into the amazon q global directory at ~/.aws/amazonq/mcp/mcp.json and rename the servers: key to mcpServers: for Q to recognise it:

{ "mcpServers": { "swiss-meteo-mcp3": { "type": "stdio", # not portable, most mcp servers use uvx run [pypiname.module@latest] to install on fly and run "command": "/Users/lorenz/git/swiss_meteo_mcp/.venv/bin/python", "args": [ "-m", "swiss_meteo_mcp.server" ] } } }

alt text

Other

  • drag and drop screenshot into VS Code editor works well

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lorenzwalthert/swiss_meteo_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server