Regalport MCP Server
Regalport MCP Server — for AIPI's Custom MCP
This replaces the character-limited Knowledge Base text field with a live tool the Harbour Register agent can query. Instead of pre-loading a compressed 4,000-character summary, the agent calls a tool and gets back exactly the entry it needs, from a dataset of 223 entries / ~40,000 characters covering the full Regalport sourcebook and the five-session Prelude.
What's in this folder
File | What it is |
| The MCP server. Three tools: |
| The dataset — every NPC, district, faction, law, ship, session, encounter, hook, and place, each tagged PUBLIC or DM. |
| The script that generated |
| One dependency: |
| Builds a container that runs the server, reading |
| A short (1,351-character) replacement for AIPI's Character Description field — the persona now tells the agent to call the tools instead of embedding facts directly. |
Why it's confirmed to work
I ran this server locally, connected a real MCP client to it over SSE, and
called all three tools (search("Ossric"), get_entry("Denna Roq"),
get_entry("E4"), list_entries("district")) — all returned correct,
properly-tagged results. AIPI's Custom MCP field only accepts SSE
transport, which is what server.py runs (mcp.run(transport="sse", ...)
on /sse).
Deploying it (so AIPI can reach it)
AIPI's cloud backend needs to reach this server over the public internet —
it can't be localhost on your own machine. Any host that runs a
long-lived Python/Docker process works. Render is the easiest free
path:
Push this folder to a new GitHub repo (or a subfolder of an existing one).
On render.com, New → Web Service, connect the repo.
Render auto-detects the
Dockerfile. Leave the build/start commands as-is — the Dockerfile handles it.Deploy. Render gives you a URL like
https://regalport-mcp.onrender.com.Check it's alive: visit
https://regalport-mcp.onrender.com/health— should sayok — 223 entries loaded.Your SSE endpoint for AIPI is
https://regalport-mcp.onrender.com/sse.
One tradeoff on Render's free tier: it spins the service down after 15 minutes idle, so the first tool call after a quiet spell takes ~30-50 seconds to wake up (the second call is instant). Fine for casual home use; if that first-call lag bothers you at the table, Render's cheapest paid tier ($7/mo) or Fly.io's small always-on instance removes it.
Alternative: Railway.app works almost identically (auto-detects the Dockerfile, gives you a public URL, similar free-tier idle behavior).
Setting it up in AIPI
Open your Harbour Register agent's Configuring Character screen on
xdc.aipi.com.In MCP Expansion → Custom MCP, add the server URL:
https://<your-host>/sse.Replace the contents of Character Description with
character_description.txt.You can now leave the Knowledge Base text field mostly empty, or use it only for anything you want guaranteed-loaded with zero tool-call latency (e.g. the Six Laws, since those come up constantly). Everything else — NPCs, ships, encounters, factions, districts — is now served live by the MCP tools instead of being crammed into a character count.
Extending it later
To add the island-hex material once the party makes landfall, or to update
anything here (correct a name, add an NPC, fix a secret), edit the add(...)
calls in build_data.py and re-run it — it regenerates regalport_kb.json
from scratch, so there's one source of truth instead of hand-edited JSON
drifting out of sync with the campaign docs. Re-deploy (push to the repo;
Render redeploys automatically on push).
Local testing
pip install mcp
python3 server.py 8765 # starts on localhost:8765
curl http://127.0.0.1:8765/healthTo exercise the actual tools before deploying, use the official mcp
client library's sse_client against http://127.0.0.1:8765/sse — that's
exactly how I verified this before handing it to you.
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/itsphysics1013-create/regalport-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server