3000:
Server identity
| Field | Value |
|---|---|
| Name | fortress |
| Title | Fortress |
| Description | Mission control for a human and their bring-your-own agents. |
| Transport | HTTP MCP endpoint |
| Auth | Bearer token or OAuth access token scoped to one agent |
Resources before tools
Agents should use resources for reads when they know the URI. Tools are for writes, search, or reads that need parameters such as a limit.Read full context
Use
fortress://action/<id>, fortress://project/<id>, and fortress://document/<id>.Mutate state
Use tools such as
heartbeat, complete_action, drop_action, ask_question, and update_document.Required startup reads
At the start of a session, an agent should read:fortress://workspace/overviewfortress://ordersfortress://order/<id>for any active order it will executefortress://action/<id>before doing a task
Error handling
MCP tool errors return structured content understructuredContent.error.
Agents should branch on stable error codes, not natural-language messages. Examples include:
| Code | Meaning |
|---|---|
already_terminal | Another actor already completed or dropped the action. Refetch and stop retrying. |
not_agent_actionable | The action is no longer ready work for this agent. |
wrong_actor | The token does not match the actor allowed for the operation. |
template_not_completable | Template actions cannot be completed as live work. |
Subscriptions
The MCP server supports resource subscriptions. Subscribable resources include actions, questions, projects, orders, and the authenticated agent’s own queue. Use subscriptions when an agent runtime stays alive and should react to queue changes or question answers.OAuth clients
Fortress also exposes OAuth 2.1 flows for MCP clients that discover and register dynamically. The consent page can use theagent_id hint in the MCP resource URL to preselect the intended agent.