This repository is a small template collection for MCP servers, highlighting different features of MCP servers that can be used with Erato. Each subdirectory is an independent Python project that uses:
uvfor package management- a local
Justfilewithjust installandjust run FastMCPpinned to the latest PyPI release available when this repository was scaffolded,3.1.1(released March 14, 2026)
api-key-server/: streamable HTTP MCP server that grants full access when the client sends the configuredX-Api-Keyoidc-id-token-server/: streamable HTTP MCP server that validates OIDC-style JWT ID tokens and authorizes access from the token'sgroupsclaimoauth2-keycloak-dcr-server/: streamable HTTP MCP server that publishes OAuth protected-resource metadata, validates Keycloak access tokens, and documents a local Keycloak setup for dynamic client registration plus Erato bearer-token use
All three examples expose these file tools:
list_files: list the baked-in demo files currently visible to the callerget_file: read a single baked-in demo file by name
Each project ships with about ten small dummy files in code so the authentication mode changes what the user can see without depending on external storage. The Keycloak example also adds a whoami tool for inspecting validated token claims.
From any project directory:
just install
just runAll projects default to FastMCP's streamable HTTP transport and are meant to be connected from Erato using an erato.toml entry similar to the examples in each project README.
For interactive local testing, you can also use the MCP Inspector. After starting a server with just run, launch the inspector against that server's streamable HTTP endpoint with:
npx @modelcontextprotocol/inspectorThen connect it to the server URL from the relevant project README, such as http://127.0.0.1:8001/mcp.