MCP Server

The Persona MCP server gives any MCP-compatible agent native access to manage its identity, run pattern-based discovery, and evolve its beliefs from real behavior. No HTTP requests needed. Just call tools like add_belief and run_discovery.

Works with Claude Desktop, Claude Code, Cursor, Windsurf, and any MCP-compatible client.


Quick Setup

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "persona": {
      "command": "npx",
      "args": ["-y", "mcp-persona"],
      "env": {
        "PERSONA_API_KEY": "ln_your_key"
      }
    }
  }
}

Claude Code

claude mcp add persona -- npx -y mcp-persona

Cursor / Windsurf

Add to your MCP settings:

{
  "persona": {
    "command": "npx",
    "args": ["-y", "mcp-persona"],
    "env": {
      "PERSONA_API_KEY": "ln_your_key"
    }
  }
}

Zero-Config (No API Key)

Don't have an API key? The register tool creates an account and stores the key automatically for your session:

{
  "mcpServers": {
    "persona": {
      "command": "npx",
      "args": ["-y", "mcp-persona"]
    }
  }
}

Then just call register as your first tool. The key is stored in memory for the rest of the session.


Environment Variables

NameRequiredDescription
PERSONA_API_KEYNoAPI key (ln_ prefix). Use register tool to get one automatically.
PERSONA_BASE_URLNoAPI base URL. Default: https://agentpersona.live/api/v1

Tools (44)

Registration

ToolDescription
registerCreate account + org + API key in one call. Zero fields required. Key auto-stored for session.

Agents

ToolDescription
get_agentGet agent profile (name, job title, description, system prompt)
list_agentsList all agents in the org
update_agentUpdate agent profile fields
get_identityGet resolved identity (beliefs + responsibilities merged from org, group, and agent layers)

Beliefs

ToolDescription
add_beliefAdd a belief. Categories: axiom, principle, voice, preference, boundary. Semantic dedup auto-checks.
list_beliefsList beliefs with optional filters (category, status, starred, hidden)
update_beliefUpdate statement, category, status, starred, or hidden. Works across all scopes.
delete_beliefDelete or hide (PBD-discovered beliefs are hidden to preserve history)
add_belief_bulkAdd up to 100 beliefs at once

Responsibilities

ToolDescription
add_responsibilityAdd a responsibility. Categories: ownership, execution, collaboration, deliverables, monitoring.
list_responsibilitiesList with optional filters
update_responsibilityUpdate across all scopes
delete_responsibilityDelete or hide
add_responsibility_bulkAdd up to 100 at once

Organization Identity

ToolDescription
get_org_beliefsGet org-level beliefs (cascade to all agents)
add_org_beliefAdd an org-level belief
get_org_responsibilitiesGet org-level responsibilities
add_org_responsibilityAdd an org-level responsibility
get_org_summaryFull org overview: groups, agents, beliefs, responsibilities, counts

Group Identity

ToolDescription
get_group_beliefsGet group-level beliefs (cascade to group members)
add_group_beliefAdd a group-level belief
get_group_responsibilitiesGet group-level responsibilities
add_group_responsibilityAdd a group-level responsibility

Discovery (PBD)

ToolDescription
run_discoveryTrigger Pattern-Based Discovery. Extracts behavioral patterns from content, proposes new beliefs. Returns jobId.
get_discovery_statsPBD quality metrics: funnel, approval rates, dedup stats, category distribution
list_observationsView raw observations extracted by PBD
list_signalsView clustered signals with n-counts and stability scores
review_pendingList all beliefs and responsibilities awaiting approval

Content Sources

ToolDescription
list_sourcesList content sources for an agent (GitHub, website, Twitter, RSS)
create_sourceCreate a content source to import content for PBD
sync_sourceTrigger sync to import new content and run PBD
list_contentList imported content items

Conversations

ToolDescription
create_conversationStart a conversation session with agent participants
add_messageAdd a message to a conversation
complete_conversationMark done. Auto-publishes to PBD if org setting enabled.

Evolution

ToolDescription
snapshot_genomeCapture beliefs + responsibilities as a point-in-time snapshot
get_diffSee what changed since a specific date
run_dedupScan and merge semantically duplicate beliefs. dryRun=true previews.
run_consensusDetect shared beliefs across agents in a group or org

Jobs

ToolDescription
get_jobCheck progress of a background job (PBD, sync, dedup, consensus)
list_jobsList jobs with optional filters

Bootstrap

ToolDescription
get_recommendationsGet identity template recommendations based on agent profile
apply_recommendationsBatch apply selected templates

Resources (5)

ResourceURIDescription
Belief Categoriespersona://schema/belief-categoriesCategory definitions with examples (axiom, principle, voice, preference, boundary)
Responsibility Categoriespersona://schema/responsibility-categoriesCategory definitions (ownership, execution, collaboration, deliverables, monitoring)
Aboutpersona://aboutPlatform overview with key concepts and links
PBD Statspersona://pbd/statsDiscovery quality metrics and funnel

Prompts (3)

PromptDescription
get_startedWalk through registration, creating an agent, and adding first beliefs
evolve_identityGuide for connecting content sources and running PBD discovery
review_pendingReview and approve/reject pending beliefs and responsibilities

How It Works

The MCP server is a thin adapter. It translates MCP tool calls into REST API requests to agentpersona.live/api/v1 and returns the responses. Your agent never sees HTTP.

Agent calls add_belief("axiom", "Code is a liability")
    |
    v
MCP server sends POST /api/v1/beliefs { category: "axiom", statement: "..." }
    |
    v
Persona API checks semantic dedup, creates belief, returns result
    |
    v
Agent receives structured response with next_steps

All responses include HATEOAS next_steps arrays so agents can discover available actions from any state.


Registry Links

RegistryLink
npmmcp-persona
GitHublive-neon/persona-mcp

REST API

Prefer raw HTTP? See the full API reference.