Skip to content

Agents (MCP) ​

CodeKasten has a Model Context Protocol server. Connect Claude Code, Claude Desktop or any MCP client to it and the agent can work in a workspace: read and change records, build record types and workflows, commit, and ask for a merge.

http://<your-host>:8811/mcp
Authorization: Bearer sk_…

For Claude Code:

bash
claude mcp add --transport http codekasten http://127.0.0.1:8811/mcp \
  --header "Authorization: Bearer sk_…"

The agent is a person ​

An agent uses an API key, so it is the person who made the key, on that key's branch, with that person's role in the workspace and on that branch. It does no more than they may: a reader's agent reads, and a key for a branch its person no longer reads stops working.

An agent never writes to a protected branch. The intended way of working is the one a careful colleague would follow:

  1. make a branch for the agent and a key on it,
  2. let the agent work and commit,
  3. the agent calls request_merge, which asks the people who may merge, in their Inbox,
  4. a person looks at the commits and merges.

When a tool refuses something, the refusal comes back as the tool's result, worded for the model, so the agent can explain or try another way.

Tools ​

Looking around ​

ToolDoes
workspace_infoWho the agent is acting as, the workspace, the branch, whether it is protected, the person's role in the workspace and on the branch, and the members (for a guest: the people on that branch)
list_entity_types, describe_entity_typeThe record types, and a type's fields and relations
search_records, get_record, get_relationsFind and read records
query_recordsCount and add up the records of a type, over everything or grouped: the question a report asks

Records ​

ToolDoes
create_record, update_record, delete_recordBy the field names the type defines. A select takes a choice's name or id
link_records, unlink_recordsJoin two records by a relation
get_description, set_descriptionThe text on a record's page, as Markdown
get_document_text, set_document_textA document's body, as Markdown
draw_shapesAdds shapes (rectangles, ellipses, lines, text, paths) to a Drawing

Types with Give agents tools for this type switched on also get their own create_<type> and search_<type> tools, with the type's fields as parameters.

Markdown covers paragraphs, headings, lists (nested, and check lists), quotes, code blocks, dividers, bold, italic, underline, strikethrough, code and @username mentions. What the editor has beyond that is written so that a text read and written back keeps it:

In the editorIn the Markdown
A link to a record[Website relaunch](record:<id>). The name is for the reader; the id is the link
A tag[#urgent](tag:<id>)
AlignmentA paragraph, heading or quote ending in {align=center} (also right, justify)
A calloutA quote that opens with a line [!NOTE], [!TIP], [!IMPORTANT], [!WARNING] or [!CAUTION], or [!callout 🚀] for any other icon
A toggle<details> (or <details open>), a line <summary>title</summary>, the content, </details>

Callouts and toggles can hold lists, code and each other. A link to a record that is not on the branch is refused, and nothing is written.

People ​

ToolDoes
send_to_inboxTells members something in their Inbox
list_my_inboxReads the Inbox of the agent's person

Earlier sessions ​

ToolDoes
search_sessions, get_sessionLook back through the coding sessions of the agent's person
set_session_summaryWrites down what the session at work did

Branches ​

ToolDoes
list_branches, branch_statusThe branches its person reads, and what has changed since the last commit
commitCommits the branch
merge_branchesMerges a branch its person reads into one that is not protected and that they may merge into
request_mergeAsks the people who may merge

Packages ​

list_packages and install_package.

Building record types ​

In an app workspace: create_entity_type (with fields at once), update_entity_type, add_field, update_field, remove_field, add_relation. They write what the Entity Builder writes, so a type an agent made opens in the builder.

Not offered: deleting a type or a relation, enum fields, and view sections of a type's own.

Building workflows ​

In a workflow workspace: list_workflow_functions, list_workflows, get_workflow, save_workflow. Wherever a workflow is installed: create_workflow_instance, list_workflow_instances, set_workflow_instance_enabled, run_workflow_instance, list_workflow_runs.

save_workflow takes a whole workflow (steps and edges), checks it by the same rules as Validate — reporting everything wrong at once — and compiles it. Connector steps, Execute Workflow, For Each and On Signal are refused for now.

What an agent cannot touch ​

Definitions outside the builder tools, settings, people, credentials, and what the engine keeps for itself.

Not there yet ​

OAuth (so the server cannot be added as a claude.ai connector yet), and tools for connector accounts.

Every picture on this site was saved by a test that had just seen the feature work.