Skip to main content
Glama
samrullo

project-manager

by samrullo

What is this project

This project implements stdio MCP server, so that Claude can search data by sending requests to an API backend running on localhost:8000

This is the entry point for your MCP server. Breaking it down:

@click.command() + @click.option — CLI interface with two flags:

  • --base-url: override the API URL without changing env vars (e.g. --base-url http://staging:8000)

  • --transport: how Claude communicates with the server — stdio (default, used by Claude Desktop via stdin/stdout pipes), sse or streamable-http for network-based transports

def main(...):

  1. Creates a ProjectManagerClient — your HTTP client that talks to the FastAPI backend

  2. Calls build_mcp(client) — registers all the pm_* tools with the MCP framework, wrapping the client's methods as Claude-callable tools

  3. mcp.run(transport=transport) — starts the server loop, listening for tool calls from Claude

  4. client.close() in finally — cleanly shuts down the HTTP client when the process exits

Why stdio is the default: Claude Desktop launches this as a subprocess and communicates via stdin/stdout pipes — no network port needed. The sse/streamable-http options would be for remote deployments where Claude connects over HTTP instead.

In short: this boots the bridge between Claude and your project manager API, using whichever communication channel fits the deployment context.

How to register this local MCP server with Claude Desktop

You add below into mcpServers section of %APPDATA%\Claude\claude_desktop_config.json

What does this achieve in %APPDATA%\Claude\claude_desktop_config.json

 "project-manager": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "c:\\Users\\amrusub\\programming\\pet_projects\\project_manager_mcp",
        "project-manager-mcp"
      ],
      "env": {
        "PROJECT_MANAGER_API_BASE": "http://127.0.0.1:8000"
      }
    }
  },

This registers a local MCP server called "project-manager" with Claude Desktop. Here's what each part does:

command: "uv" — uses uv (the fast Python package manager) to run the server

args — tells uv to run the project-manager-mcp entry point from your local project directory at c:\Users\amrusub\programming\pet_projects\project_manager_mcp

env — sets an environment variable so the MCP server knows to talk to your locally running API at http://127.0.0.1:8000

Net effect: When Claude Desktop starts, it spins up your local project-manager-mcp Python process in the background. Claude then gets access to whatever tools that server exposes (in your case, the project-manager:pm_* tools visible in this conversation — create tasks, list projects, manage users, etc.), all backed by your local FastAPI server on port 8000.

So it's essentially a bridge: Claude ↔ MCP server process ↔ your local REST API.

Install Server
F
license - not found
C
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/samrullo/project_manager_mcp'

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