Skip to main content

openroland-mcp-core

Shared Python library for local MCP server hosting.

Features

  • Transport-neutral McpServerDefinition registry (entry points + TOML).
  • STDIO runner for agent clients (run_stdio, stderr-only logs).
  • Local HTTP host on 127.0.0.1:3333 with per-server Streamable HTTP mounts.
  • HTML dashboard at / and health routes.
  • Windows system tray (openroland-mcp-host) with one icon for all servers.
  • Per-server nested tray submenus, start/stop/restart, endpoint copy.
  • Host tray actions: logs folder, config folder, start with Windows, LAN toggle (with warning), about, quit.
  • Windows single-instance mutex and POST /_host/activate for second launches.
  • Generic tkinter credential forms (no secrets on stdout).
  • Local origin validation on HTTP when LAN access is disabled.

Install

pip install openroland-mcp-core[http,windows-tray]

STDIO (single server)

from openroland_mcp_core.mcp.stdio import run_stdio

run_stdio(definition, config)

Windows tray host

openroland-mcp-host

From baseroot after make init:

make mcp-host
make forgejo-mcp-tray FORGEJO_MCP_CONFIG=D:/path/to/manifest.json

Host config: %APPDATA%\OpenRoLandMcpHost\config.toml

Logs: %LOCALAPPDATA%\OpenRoLandMcpHost\logs\

Register a server package

[project.entry-points."advpy.mcp_servers"]
my-server = "my_package.mcp_definition:create"

The callable must return an McpServerDefinition.

Cursor (HTTP)

Start the tray host first, then point Cursor at:

http://127.0.0.1:3333/servers/<server-id>/mcp

Example ~/.cursor/mcp.json:

{
  "mcpServers": {
    "forgejo-actions": {
      "url": "http://127.0.0.1:3333/servers/forgejo-actions/mcp"
    }
  }
}

Do not put API tokens in mcp.json; use the tray Set Credentials... action or environment variables read by the server package.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openroland_mcp_core-0.1.23.tar.gz (36.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openroland_mcp_core-0.1.23-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

Details for the file openroland_mcp_core-0.1.23.tar.gz.

File metadata

  • Download URL: openroland_mcp_core-0.1.23.tar.gz
  • Upload date:
  • Size: 36.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for openroland_mcp_core-0.1.23.tar.gz
Algorithm Hash digest
SHA256 9297512b21d1b4c00a08a977a4ee6d3ac61b93ced1bfe76600a7e53871989f02
MD5 d641c86a59153ea77d94593370b10f23
BLAKE2b-256 90bcfae52c55cf0efe0aedc9c2f43d1414b629032b1d4a8b2faa1c9bec8461c2

See more details on using hashes here.

File details

Details for the file openroland_mcp_core-0.1.23-py3-none-any.whl.

File metadata

File hashes

Hashes for openroland_mcp_core-0.1.23-py3-none-any.whl
Algorithm Hash digest
SHA256 40d78bfbb4b54b0d16e3c84ef2a426a5924d9ea0d66a0b8b376f175025aad74a
MD5 ae6e193c33d1622cb913a0b8fca0ed6c
BLAKE2b-256 d850f4d1a56c4ef6815fb770e66aff754f1850fabb042bdcc7650448220aaa44

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.23 This release

2 files

0.1.22

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page