← All posts

Giving agents a project's documents over MCP

An agent that finishes a task and leaves its findings in scrollback has left them nowhere. Cydonia's answer is to give every agent it runs the project's own documents as tools: it reads the board, picks up a card, writes up what it found as an article and moves the card. The surface is MCP, served by the app itself.

One server for the app

Cydonia runs one MCP server, speaking Streamable HTTP at http://127.0.0.1:7457/mcp, on loopback only. If the port is taken, by a second Cydonia for instance, it takes the next free one up to 7472, and Settings › MCP shows the address in use.

The tools are namespaced by what they work on: project_*, article_*, board_*, session_*, browser_*, and workspace_focus for what the window is showing. The pane and the agent take the same route. Moving a card from the board's UI and calling board_move_card run the same named operation on the board, so the two cannot drift.

No token

There is no token. A process running as you can already write the files these tools write, so a token would only stop programs that could go around it. The one thing loopback does not stop is a web page in your browser making requests to 127.0.0.1, so any request carrying an Origin header is refused.

Hidden, not refused

Writing is a switch in Settings, and deleting is a narrower one read after it. When writing is off, the write tools are left out of tools/list rather than refused when called. A tool an agent can see is one it will spend a turn trying. Leaving it out costs nothing, and the agent plans with the tools it actually has.

Sessions know their project

A session Cydonia starts is told its project, so its tools need no directory argument. A client added by hand reaches every project the app has open, and names one per call with project.

Entries carry stable numbers, #12, and every tool that takes an article, a board or a session takes the reference too. #12:5-7 reads lines 5 to 7 of an article, #43:5-7 turns 5 to 7 of a session. Agents write these into what they produce, so a card can point at the session that worked it.

Lists, all or nothing

The tools that change several things at once take a list: several cards to move, several columns to add. Every name is resolved before anything is written, so a list with a typo in it changes nothing. An agent never has to clean up half of a batch.

From outside the app

Any MCP client can connect, not only the agents Cydonia starts. From Claude Code in a terminal:

claude mcp add --transport http cydonia http://127.0.0.1:7457/mcp

Then ask it to read a board, or to write its plan as an article in a project Cydonia has open.

The full list of tools is in the MCP docs.