Labsco
dawsonlp logo

BaseMcpServer

โ˜… 3

from dawsonlp

A minimal, containerized base for building MCP servers with the Python SDK, featuring a standardized Docker image and local development setup.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeNeeds API keys

BaseMcpServer

A monorepo of Model Context Protocol servers plus the mcp-manager CLI that installs and configures them.

What's in this repo

BaseMcpServer/
โ”œโ”€โ”€ utils/mcp_manager/         # CLI for installing + managing MCP servers (canonical install path)
โ”œโ”€โ”€ servers/
โ”‚   โ”œโ”€โ”€ jira-helper/           # Jira + Confluence integration server (multi-instance)
โ”‚   โ”œโ”€โ”€ worldcontext/          # Current-context tools (date/time, market, news, dev-tool versions)
โ”‚   โ”œโ”€โ”€ mcpservercreator/      # Generator that scaffolds new MCP servers from a code snippet
โ”‚   โ””โ”€โ”€ template/              # Starter scaffold to fork when building a new server
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ adr/                   # Architecture Decision Records
โ”‚   โ”œโ”€โ”€ developer/             # Implementation guides (build a new MCP server, client support, etc.)
โ”‚   โ””โ”€โ”€ user/                  # End-user docs (Cline compatibility, etc.)
โ””โ”€โ”€ QUICKSTART.md              # End-to-end jira-helper onboarding

Every server in this repo is a Python package installable via mcp-manager install local, gets its own isolated uv-managed environment under ~/.config/mcp-manager/servers/<name>/.venv, and is wired into VS Code/Cline + Claude Desktop with a single mcp-manager config sync call.

Building a new MCP server

Fork servers/template/ and follow the README inside it. The template gives you the same shared infrastructure as the other servers โ€” bulk tool registration, config-file discovery, argv-driven transport dispatch, stdio-safe logging โ€” all via mcp-commons.

Detailed reference: docs/developer/BUILD_A_NEW_MCP.md.

For dynamically generating a server from a code snippet, see the mcpservercreator server itself, once installed.

Connecting clients

mcp-manager config sync      # write to both Cline + Claude Desktop
# or selectively:
mcp-manager config cline
mcp-manager config claude

mcp-manager writes mcpServers entries that point at ~/.config/mcp-manager/servers/<name>/.venv/bin/<name> over stdio. Restart your editor for the new entries to take effect.

Example entry (written automatically; shown for reference):

{
  "mcpServers": {
    "jira-helper": {
      "command": "/Users/<you>/.config/mcp-manager/servers/jira-helper/.venv/bin/jira-helper",
      "args": ["stdio"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Hand-added entries in your editor's settings file are preserved across config sync โ€” only entries that match a server name in the mcp-manager registry are overwritten.

Architecture decisions

The major directional choices are tracked under docs/adr/:

  • ADR-003 โ€” current: all server installs go through uv
  • ADR-002 โ€” superseded; documents the earlier pipx-default attempt