MCP server · online

Ork MCP Server

Let AI agents read and write your Ork notes.

https://mcp.ork.so Streamable HTTP 21 tools OAuth · API key

This URL is the MCP endpoint — paste it into an MCP client, it isn't meant to be browsed. Full setup guide: ork.so/docs/mcp.

At a glance

Protocol
Model Context Protocol — Streamable HTTP at /
Authentication
OAuth 2.1 (PKCE + client ID metadata) or x-api-key: ork_… / Authorization: Bearer ork_…
Upstream API
https://api.ork.so
Discovery
/.well-known/oauth-authorization-server · /.well-known/oauth-protected-resource
Health
/health
Local (stdio)
npx -y @ork.so/ork-mcp@latest

Connect

Claude.ai / ChatGPT — remote connector

  1. Add a custom connector with URL https://mcp.ork.so
  2. Transport: Streamable HTTP; Authentication: Sign in (OAuth)
  3. OAuth client: use the host's published identity (CIMD)
  4. Approve on ork.so — Ork mints a revocable API key for that connector

Claude Desktop / Cursor — local stdio

{
  "mcpServers": {
    "ork": {
      "command": "npx",
      "args": ["-y", "@ork.so/ork-mcp@latest"],
      "env": { "ORK_API_KEY": "ork_…" }
    }
  }
}

Claude Code

/plugin marketplace add Ork-so/ork-plugin
/plugin install ork@ork-so

The plugin also installs engineer-brain, a skill that turns these tools into persistent project memory — it reads a project's Ork collection at session start and records decisions, architecture changes and gotchas as tagged notes while you work.

Test it

curl -s https://mcp.ork.so/health
npx @modelcontextprotocol/inspector -e ORK_API_KEY=ork_… npx -y @ork.so/ork-mcp@latest

Tools

Read

ToolParametersDescription
search_notes query Search the user's Ork notes by keyword and return matching notes (id, title, date).
get_note note_id Fetch a single Ork note by id and return its title and full body as markdown.
list_notes limit? List the user's most recent notes (id, title), including Memory (MCP/skill) notes.

Write

ToolParametersDescription
create_note title? markdown tags? collection_id? source? Create a new Ork note from a markdown body.
append_to_note note_id markdown Append markdown content to the end of an existing note, keeping its current content intact.
replace_note_body note_id markdown title? Replace a note's entire body with new markdown (and optionally a new title).

Tags

ToolParametersDescription
add_tags note_id tags Attach one or more tags to a note.
list_tags — List all of the user's tags (name and id).

Publishing

ToolParametersDescription
publish_note note_id show_on_profile? Publish a note publicly and return its shareable public URL.
unpublish_note note_id Make a previously published note private again.

Collections

ToolParametersDescription
list_collections — List the user's collections (name and id), including Memory collections.
create_collection name description? icon? color? source? Create a new collection (a named group of notes).
add_to_collection collection_id note_ids Add one or more notes to a collection.

Boards

ToolParametersDescription
list_boards — List the user's boards (id, title, card count).
get_board board_id Read a board as text: every card with its id and content, the frames and which cards they hold, and the connections between cards.
create_board title description? cards? connections? frames? note_ids? Create a board, optionally filled in one go.
update_board board_id title? description? Rename a board or change its description.
edit_board board_id ops Add to a board in one call: new cards, edits to text/checklist/link cards, connections and frames.
add_notes_to_board board_id note_ids Place existing notes on a board as note cards, to the right of what's already there.
publish_board board_id password? slug? show_author? Publish a board publicly and return its shareable URL.
unpublish_board board_id Make a previously published board private again.

There is intentionally no delete tool — agents can't destroy notes, and publishing is always reversible. Keys are scoped per agent and revocable from Profile → API Keys.