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%\AdvpyMcpHost\config.toml

Logs: %LOCALAPPDATA%\AdvpyMcpHost\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.22.tar.gz (36.1 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.22-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openroland_mcp_core-0.1.22.tar.gz
  • Upload date:
  • Size: 36.1 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.22.tar.gz
Algorithm Hash digest
SHA256 f365e7c1215624c48543c3f1357df7a526a510ddc68634a7474eba87a3526b35
MD5 9df90275175b0a0567f9aea51d0833d9
BLAKE2b-256 a8ed5b8ab1a512148a60984d5cfb5d2fce28c1757beffa94e41efa876e3ca64a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openroland_mcp_core-0.1.22-py3-none-any.whl
Algorithm Hash digest
SHA256 079e0371b01c1556f4abeceb96d8ec16b430126b507b1d6bdba00ad7e8a81df5
MD5 9b4e62c05e50237efd3c11363f2a6b27
BLAKE2b-256 60b686c06be82fd04fc299d9ca0d7e69bfebd8a9f094f483e2b1e5eff45cf584

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.23

2 files

This release

0.1.22 This release

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