Project Info MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Project Info MCPshow me the project info"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Project Info MCP — HTTP Transport + Docker Setup
This repository contains a minimal FastMCP 2.x server that exposes a single resource: the file project_info.md (served as text/markdown).
It now uses FastMCP's built‑in HTTP transport (no separate FastAPI server). The service listens on port 8000 and speaks the Model Context Protocol over HTTP. This is intended for MCP‑aware clients (e.g., Claude Desktop, dev tools), not as a generic REST API.
Below you will find instructions to:
Build and run the server with Docker Desktop
Configure Claude Desktop to launch the server inside Docker and communicate with it over stdio (MCP command transport)
Prerequisites
Docker Desktop installed and running
Optional (local testing without Docker): Python 3.13+ with
fastmcp>=2,<3Claude Desktop (with MCP support)
Related MCP server: MCP Server Example
Build the Docker image
Run these commands from the project root (where the Dockerfile lives).
docker build -t project-info-mcp:latest .Notes:
The image uses
python:3.13-slimand installsfastmcp>=2,<3.The container’s working directory is
/appand it runspython main.pyby default.
Run the container (manual test)
The MCP server runs over HTTP on port 8000. You can run the container interactively to see logs:
docker run --rm -it project-info-mcp:latestIf you want the container to serve your current local project_info.md (so edits are reflected live), mount it read-only, and publish port 8000:
# Windows PowerShell (from project root)
docker run --rm -i -p 8000:8000 -v "$PWD/project_info.md:/app/project_info.md:ro" project-info-mcp:latest
# macOS/Linux
docker run --rm -i -p 8000:8000 -v "${PWD}/project_info.md:/app/project_info.md:ro" project-info-mcp:latestTip (Windows CMD): replace $PWD with %CD%.
Run as a service with Docker Compose (optional)
docker compose up --build
# stop with
docker compose downThis is useful for keeping the container running while you exec/attach for debugging. The Compose file maps 8000:8000 for HTTP transport.
Using FastMCP HTTP transport
The server code follows the FastMCP HTTP transport pattern:
from fastmcp import FastMCP
mcp = FastMCP("My MCP Server")
@mcp.tool
def greet(name: str) -> str:
return f"Hello, {name}!"
if __name__ == "__main__":
mcp.run(transport="http", port=8000)In this repository, we expose a resource instead of a tool. See main.py for the concrete implementation. Start the server locally with:
pip install -e .
python main.py
# MCP is listening on http://127.0.0.1:8000Note: MCP over HTTP is not a human‑friendly REST API. Use an MCP‑capable client to connect.
Configure Claude Desktop to use the container
Claude Desktop can launch MCP servers via a command transport. We will point it to docker run ... so it starts the container on-demand and communicates over stdio.
You have two configuration methods. Pick one.
Option A: Configure via Claude Desktop UI
Open Claude Desktop
Go to Settings → Developer → Model Context Protocol (MCP) Servers
Add new MCP server:
Name:
project-info-mcpCommand:
dockerArguments:
run --rm -i project-info-mcp:latestSave
If you want the server to read your host project_info.md, add a bind mount in Arguments (be careful with quoting on Windows):
run --rm -i
-v ${PWD}/project_info.md:/app/project_info.md:ro
project-info-mcp:latestOn Windows PowerShell, ${PWD} expands to the current directory. In CMD, use %CD%. If quoting is problematic in the UI, you can instead use the JSON file method below where multi-arg arrays are clearer.
Option B: Configure via claude_desktop_config.json
Create or edit the config file at the platform path below and add an entry under mcpServers.
Windows:
%APPDATA%/Claude/claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Minimal config (no bind mount):
{
"mcpServers": {
"project-info-mcp": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"project-info-mcp:latest"
]
}
}
}Config with bind mount to serve your local project_info.md read-only:
Windows (PowerShell uses $PWD; for CMD replace with %CD%):
{
"mcpServers": {
"project-info-mcp": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "${PWD}/project_info.md:/app/project_info.md:ro",
"project-info-mcp:latest"
]
}
}
}macOS/Linux:
{
"mcpServers": {
"project-info-mcp": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "${PWD}/project_info.md:/app/project_info.md:ro",
"project-info-mcp:latest"
]
}
}
}After saving the config, restart Claude Desktop.
Verify in Claude Desktop
Open or start a new chat
Ensure the MCP server
project-info-mcpappears in the tools list (depending on UI version)Ask Claude to list MCP resources. You should see one resource with URI:
mcp://project-info-mcp/project_infoandmime_type: text/markdown
Ask Claude to read the
project_inforesource; it should return the contents ofproject_info.md.
Troubleshooting
Docker command not found: ensure Docker Desktop is installed and running.
Permission/volume errors on Windows: try running PowerShell as Administrator, or use
%CD%(CMD) or a full path for the-vmount.No resources listed in Claude: check Claude’s developer settings and logs; confirm the container starts (you should see logs in the Claude console). Try running the container manually to confirm it works:
docker run --rm -it project-info-mcp:latest.project_info.mdchanges not reflected: verify you added the-vmount to bind the host file into/app/project_info.mdin the container.
Local (non-Docker) run
If you prefer to test locally without Docker:
pip install -e .
python main.pyClaude Desktop config (command transport) would then point to python with args ["main.py"] instead of docker run ....
Reference
Resource URI exposed by the server:
mcp://project-info-mcp/project_infoMIME type:
text/markdownBase image:
python:3.13-slimMain entrypoint:
python main.py
Test with MCP Inspector (npx @modelcontextprotocol/inspector)
Use the official MCP Inspector to validate and debug the server. This works with the Dockerized server or a local Python run.
Prerequisites
Node.js 18+ (includes
npx). Install from https://nodejs.org if needed.Your server code from this repo (already set up).
Optional: Docker Desktop if you want to run the containerized server.
Option A — Inspect the Dockerized server
Build the image (from the project root):
docker build -t project-info-mcp:latest .Start the MCP Inspector UI:
npx -y @modelcontextprotocol/inspectorThis opens the Inspector in your browser (or prints a local URL). If a browser doesn’t open automatically, copy the URL from the terminal and paste it in your browser.
Connect the Inspector to your server using Command (stdio):
Click “Connect”.
Transport: choose “Command”.
Command:
dockerArguments (no bind mount):
run --rm -i project-info-mcp:latestClick “Connect”. The Inspector will launch the container and communicate over stdio.
Optional: If you want live reads of your host file
project_info.md, add a bind mount (adjust path syntax for your shell/OS):Windows PowerShell:
run --rm -i -v ${PWD}/project_info.md:/app/project_info.md:ro project-info-mcp:latestWindows CMD (use
%CD%instead of${PWD}) or macOS/Linux (use${PWD}):run --rm -i -v ${PWD}/project_info.md:/app/project_info.md:ro project-info-mcp:latest
Exercise the server in the Inspector:
Use the Resources panel to “List” resources.
You should see
mcp://project-info-mcp/project_infowithmime_type: text/markdown.Click/execute a “Read Resource” action and select that URI. The Inspector will show the contents of
project_info.md.
Option B — Inspect a locally-run server (no Docker)
Install deps and run the server locally:
pip install -e . python main.py(Or with
uv:uv run python main.py)Note: You don’t have to start the server first if you use Inspector’s Command transport—Inspector can launch it for you. See next step.
Start the MCP Inspector UI:
npx -y @modelcontextprotocol/inspectorConnect via Command (stdio):
Click “Connect”.
Transport: “Command”.
Command:
pythonArguments:
main.pyClick “Connect”. The Inspector will launch
python main.pyand speak MCP over stdio.
List and read resources as above.
What you should see/verify
A single resource listed:
mcp://project-info-mcp/project_info.Reading the resource returns the contents of your
project_info.md.If
project_info.mdis missing, the server returns a short markdown message asking you to create it.
Tips and troubleshooting (Inspector)
Docker flags:
Use
-i(interactive stdin). Do not add-twhen launching via Inspector, as a TTY can interfere with stdio framing.
Windows paths/quoting:
PowerShell uses
${PWD}; CMD uses%CD%. If quoting is tricky in the Inspector UI, try the local (non‑Docker) path first to confirm connectivity.
If no resources appear:
Check the Inspector’s connection log (left/bottom panel) for startup errors.
Try running the server outside Inspector to ensure it starts:
docker run --rm -it project-info-mcp:latestorpython main.py.
Node requirement:
If
npxisn’t found, install Node.js. On corporate machines, you may need a proxy configured fornpm.
FastMCP CLI (alternative):
If you have
fastmcpinstalled, it offers a dev helper that shells out to the Inspector and wires a proxy for you. Example (syntax may vary across versions):python -m fastmcp dev -- command python main.pyThis is optional; using
npx @modelcontextprotocol/inspectordirectly is sufficient.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/ziutus/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server