project-manager
This MCP server acts as a bridge between Claude and a project management backend, exposing a comprehensive set of tools to manage projects, tasks, users, teams, organizations, tags, comments, and files.
Health Check
Check API liveness with
pm_health.
Projects
Create, list, get, update, and delete projects.
Upload, download, list, update, and delete files attached to projects (base64-encoded transfers).
Tasks
Create, list, get, update, and delete tasks.
Filter by status, priority, project, owner, tags, overdue, starred, and more.
Attach and detach tags to/from tasks.
Comments
Create, list, update, and delete comments on tasks.
Users
Create, list, get, update, and delete users (some actions admin-only).
Attach and detach contact labels to/from users (admin-only).
Export users as joined plain text or CSV with configurable fields and filters.
User Labels (Contact Labels)
Create, list, get, and delete global contact labels.
Organizations
Create, list, and get organizations.
Teams
Create, list, and get teams, optionally filtered by organization.
Tags
Create, list, get, update, and delete tags, optionally scoped to a project or global.
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-managerCreate a task 'Fix login bug' in project 'MainApp'"
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.
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
Documentation: docs/ — implementation overview and full pm_* tool reference.
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),sseorstreamable-httpfor network-based transports
def main(...):
Creates a
ProjectManagerClient— your HTTP client that talks to the FastAPI backendCalls
build_mcp(client)— registers all thepm_*tools with the MCP framework, wrapping the client's methods as Claude-callable toolsmcp.run(transport=transport)— starts the server loop, listening for tool calls from Claudeclient.close()infinally— 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.
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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