Landed
Integrations

MCP server

Connect Claude Code, Cursor, Codex, or another MCP-compatible agent to a Landed workspace.

This guide helps a workspace admin connect an MCP-compatible agent to one Landed workspace and use it to search, create, and manage workspace data.

Quick actions

Before you start

  • You are a workspace admin for the Landed workspace you want to connect.
  • Your agent supports remote MCP servers and OAuth.
  • You can sign in to Landed in a browser when the agent requests authorization.

Connect your agent

  1. Open Workspace settings → MCP server in Landed.
  2. Copy the Workspace MCP URL shown for your workspace.
  3. Open your agent's remote MCP server settings and add the copied URL.

Most clients accept a configuration shaped like this:

{
  "mcpServers": {
    "landed-your-workspace": {
      "url": "https://app.example.com/api/mcp/your-workspace"
    }
  }
}

Use the URL copied from Landed. Do not replace it with another workspace's URL.

  1. Start a connection from the agent.
  2. When Landed opens in your browser, sign in and approve the OAuth request.
  3. Return to the agent and confirm that the Landed server is connected.

Landed uses OAuth 2.1 with PKCE. You do not need to copy a permanent API token into your agent configuration.

What your agent can do

The MCP server is scoped to the workspace URL you copied. It provides these tools:

Find and inspect workspace data

  • search_requests_semantically finds requests by meaning, with optional feedback type, date, and pagination filters.
  • search_issues_semantically finds issues by meaning, with optional status, date, and pagination filters.
  • get_issue_details returns an issue with bounded related requests, assets, and updates.
  • list_issue_requests lists all requests linked to an issue with pagination.
  • list_issue_assets lists assets attached to an issue's updates with pagination.
  • list_issue_updates lists an issue's updates with pagination.
  • get_workspace_statuses returns the workspace's issue status definitions.

Search uses the workspace's semantic search data and can fall back to lexical matching when semantic search is unavailable.

Add workspace data

  • create_asset_upload creates a short-lived presigned upload URL. Upload the file to that URL, then use the returned storageRef with another write tool.
  • create_conversation_capture creates an admin conversation capture using the same capture contract as Landed's inbox capture flow. It stores the source and generates editable request proposals; it does not create a request.
  • create_issue creates an issue using the same input contract as Landed's issue creation flow.

Asset uploads are two-step: the agent requests an upload URL, then uploads the file directly to storage. The MCP server returns the storageRef, an asset URL, and the upload URL expiration time.

Draft and publish changelog releases

  • create_changelog_release creates a draft release.
  • update_changelog_release updates a draft or published release.
  • publish_changelog_release publishes a completed release as a separate action.

Publishing is separate so you can ask the agent to draft and revise release content before making it visible to customers.

Access and safety

Only a signed-in workspace admin can authorize an agent. The agent receives the authorizing admin's workspace access and can read or change workspace data through the available tools.

The initial MCP server uses the columns enabled for workspace data access. Treat the agent connection and its OAuth credentials as full admin access:

  • Review generated requests, issues, uploads, and releases after agent actions.
  • Be careful when asking the agent to create or publish data; write actions execute without an additional confirmation step.
  • Remove the server connection from your agent when you no longer need it.

Expected result

  • The agent shows the Landed MCP server as connected.
  • Searches return data from the selected workspace.
  • Write tools create data in that same workspace.
  • Changelog releases remain drafts until you explicitly run the publish action.