Skip to content
midlandDocs
Esc
navigateopen⌘Jpreview
On this page

Connector

The MCP endpoint every host connects to, how it authenticates, and the seventeen tools it serves.

Connector

The MCP endpoint every host connects to, how it authenticates, and the seventeen tools it serves.

Every workspace serves one MCP endpoint:

https://midland.md/api/mcp

The endpoint speaks Streamable HTTP. Foundation is its own OAuth 2.1 authorization server and publishes the standard discovery documents, so a host registers and runs the authorization flow with PKCE, and the person approves in the browser. You paste nothing but the URL.

Hosts

Claude.ai. Settings, Customize, Custom Connector, paste the URL, leave authentication as detected, sign in. One install covers the web, Claude Desktop, Cowork and Claude Code on the account.

Codex. Settings, MCP servers, Add server. Name midland, transport Streamable HTTP, paste the URL. Save, restart, then Authenticate. The desktop app, the CLI and the IDE extension share the configuration.

Any other MCP client. Add a remote server at the URL and let the client run the authorization flow. Send Accept: application/json, text/event-stream on every request.

Couriers

A courier is a small job that fetches a source on a schedule and writes what it found into the workspace. It does not run the authorization flow: it sends its connection key as a bearer token on every request, and a 401 means the key was withdrawn. Members and roles covers what a courier may do and how you add one.

curl https://<your workspace>/api/mcp \
  -H "Authorization: Bearer <connection key>" \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools

Each tool’s description tells the agent when to call it, when not to and what every error means. In brief:

Tool What it does
list_entities The shortlist for a filter, complete, with the tag index. The first call.
search_entities Possible matches on partial wording across names and descriptions.
get_entity One entity in full: a body, a latest value, or a list’s entry index.
get_skill The team’s skills: bare for the index, with an id for one.
get_team_members The people an admin described, by name and what they handle.
get_authoring_guide How this entity’s content should be composed. Read before writing.
get_manual Foundation’s own manual, by chapter.
save_alias Save verified wording as an alias for an entity.
request_entity Ask the admins for context the workspace does not hold.
create_entity Define a new entity. Admin only.
write_text A new version of a text, term or skill body.
write_metric Append one dated observation, verbatim.
write_list_entry Append one named entry.
update_list_entry Rewrite one living entry in place.
delete_list_entry Remove one entry permanently. Admin only.
set_entity_tags Replace an entity’s tags. Owner only.
write_guide Write the authoring or retrieval guide. Owner only.

Routines covers the seven routine tools.

Was this page helpful?