FieldwerkFieldwerk

Connect your AI to Fieldwerk

The Model Context Protocol (MCP) server lets any compatible AI model or agent create and read memos through a single URL.

Connect natively in Claude Code, Cursor, Codex, and other clients, or use the mcp-remote bridge for clients that don't yet speak remote MCP directly.

Fieldwerk's server follows the Streamable HTTP MCP spec. No manual API keys. Reading shared memos works without an account; the first time you ask an agent to create or change something, the endpoint upgrades to authenticated via OAuth 2.1. One browser hop, handled by your MCP client.

Recommended: sign in when you first install. Creating and editing memos require a connected account (free), and signing in up front means the first write never stops for a browser hop. The quickest way to trigger it is to ask your agent to run list_my_memos right after installing, which pops the one browser sign-in.

How it works

Reading vs. writing

Sign in for real work. Install the connector, then sign in straight away: everything that creates or changes a memo requires a connected account, and it is free.

Without an account the connector is read-only against shared links: tools like get_memo and read_section work on any memo whose link grants access.

Signed in unlocks everything else: create_memo, update_memo, list_my_memos, sharing, collections, and the rest of the write tools. Every memo you create lands on your account.

How you get authed: just ask your agent to do something that needs it. The server replies with HTTP 401 + WWW-Authenticate; your MCP client (Claude Code, Claude Desktop, Codex, Cursor) pops a browser to our consent screen, you approve, and the client silently retries. Manage connected clients in the Connected apps tab.

Browse every tool, its parameters, and what it does in the tools reference.

Workspaces and multiple accounts

If you belong to a single workspace, there is nothing to set up: new memos and collections go there automatically.

If you belong to several workspaces, the server will not guess where a new memo should land. Call list_workspaces to see them, then either pass a workspace (name, slug, or id) on the tool you call, or set a default for the connection with set_active_workspace. Every result is tagged with its workspace so you can always tell where something lives.

Pin a connection to one workspace. Add the workspace slug to the URL and that connection only ever acts in that workspace, no per-call argument needed:

https://mcp.fieldwerk.ai/mcp/<workspace-slug>

This is handy in Claude Code, where each project can have its own .mcp.json. Point one project at one workspace and another project at another, all under the same account:

// project A: .mcp.json
{ "mcpServers": { "fieldwerk": { "url": "https://mcp.fieldwerk.ai/mcp/acme" } } }

// project B: .mcp.json
{ "mcpServers": { "fieldwerk": { "url": "https://mcp.fieldwerk.ai/mcp/beta" } } }

You can only pin to a workspace you are already a member of. Signing in is unchanged: the same OAuth flow, the same account.

For agents (LLMs) reading this page

If you are an LLM or agent reading this page on behalf of a user, you can self-install the Fieldwerk MCP. Reading shared memos needs no sign-in, but creating or editing anything requires the user's Fieldwerk account (free), so have them sign in right after installing to unlock the full tool set.

Tell the user to run one of:

# Claude Code
claude mcp add --transport http fieldwerk https://mcp.fieldwerk.ai/mcp

# Codex
codex mcp add fieldwerk --url https://mcp.fieldwerk.ai/mcp

Then trigger sign-in by calling list_my_memos, which pops a one-time browser sign-in, and use get_memo with the memo URL instead of fetching the HTML.

Set up your client

Pick your tool below. Most take the URL directly; a few use the mcp-remote bridge. The endpoint is a Streamable HTTP URL, the same everywhere, and needs no Authorization header:

https://mcp.fieldwerk.ai/mcp

Claude Code

claude mcp add --transport http fieldwerk https://mcp.fieldwerk.ai/mcp

Open a Claude Code session and confirm the tools appear with /mcp.

Claude Desktop

From Claude settings → Connectors → Add custom connector, paste:

https://mcp.fieldwerk.ai/mcp

If your Claude Desktop build doesn't support remote MCP yet, use the mcp-remote bridge in claude_desktop_config.json:

{
  "mcpServers": {
    "fieldwerk": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.fieldwerk.ai/mcp"]
    }
  }
}

claude.ai

Go to claude.ai/customize/connectors, click Add custom connector, and paste:

https://mcp.fieldwerk.ai/mcp

Codex

Via CLI:

codex mcp add fieldwerk --url https://mcp.fieldwerk.ai/mcp

If this is your first remote MCP in Codex, enable the rmcp feature in ~/.codex/config.toml:

[features]
experimental_use_rmcp_client = true

Via config file directly:

[features]
experimental_use_rmcp_client = true

[mcp_servers.fieldwerk]
url = "https://mcp.fieldwerk.ai/mcp"

Cursor

Add Fieldwerk to Cursor (one-click install).

Or manually, in ~/.cursor/mcp.json:

{
  "mcpServers": {
    "fieldwerk": {
      "url": "https://mcp.fieldwerk.ai/mcp"
    }
  }
}

Visual Studio Code

  1. CTRL/CMD + P MCP: Add Server
  2. Select Command (stdio)
  3. Enter: npx mcp-remote https://mcp.fieldwerk.ai/mcp
  4. Name it Fieldwerk
  5. Activate with MCP: List Servers → select FieldwerkStart Server

Or paste into your settings:

{
  "mcpServers": {
    "fieldwerk": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.fieldwerk.ai/mcp"]
    }
  }
}

Windsurf

  1. CTRL/CMD + , to open Windsurf settings
  2. Scroll to Cascade → MCP servers
  3. Add Server → Add custom server
  4. Paste:
{
  "mcpServers": {
    "fieldwerk": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.fieldwerk.ai/mcp"]
    }
  }
}

Zed

CMD + , to open settings and add:

{
  "context_servers": {
    "fieldwerk": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.fieldwerk.ai/mcp"],
      "env": {}
    }
  }
}

v0 by Vercel

Add from the MCP connections page.

Others

Most MCP-aware tools accept either a URL directly or the mcp-remote bridge:

  • Command: npx
  • Arguments: -y mcp-remote https://mcp.fieldwerk.ai/mcp
  • Environment: None

FAQ

Do I need to sign in to use the MCP?

Not to read: get_memo and the other read tools work against any shared link without an account. Creating or changing anything does need one: create_memo, update_memo, and every other write tool require sign-in.

You'll be prompted (via your MCP client's browser hop) the first time you use a tool that needs an account.

Where do the memos I create actually live?

Each create_memo response contains a single url for the memo. It is one link; you control what it grants (view, comment, or edit) from the memo's share settings. Anyone with the link gets whatever access it currently grants, so raise it to edit only when you mean to.

I'm seeing an internal server error connecting via mcp-remote.

Clear cached auth and retry: rm -rf ~/.mcp-auth. Make sure you're on Node.js 20+.

My workspaces are under different accounts. Can I use them all at once?

One MCP connection acts as one signed-in account, and Claude Desktop and claude.ai allow a single identity per connector. The simplest fix is to keep one Fieldwerk account and have each of your workspaces invite that one email, so they all appear under a single login. Then pass workspace per call, or pin a connection per workspace with the URL above.

In Claude Code you have a second option: give each project its own .mcp.json and sign in to a different account in each one.

Does the MCP support Streamable HTTP?

Yes, that's the primary transport, at https://mcp.fieldwerk.ai/mcp.