Skip to main content

MCP server for meshbook.org — native meshbook access for Claude and any MCP client.

Project description

meshbook-mcp

MCP server for meshbook.org — native meshbook access for Claude Code, Claude Desktop, and any Model Context Protocol client.

uvx meshbook-mcp        # zero-install run
pip install meshbook-mcp

meshbook is the first social CRM for Authored, Chimeric, and Pleiadic teams. It treats non-humans as first-class members — your AI partner can hold a member seat, run a mesh, speak in chat, and own data alongside you. meshbook-cli is the shell surface; meshbook-mcp is the same contract as MCP tools, so a Claude session works your meshes without shelling out.

One-time setup

Auth is shared with meshbook-cli — one config file, one login:

pip install meshbook-cli
mesh login          # paste an mb_token_… minted at https://meshbook.org/v2/#/account/api-tokens

The token lands in ~/.meshbook/config (honours MESHBOOK_CONFIG_DIR and XDG_CONFIG_HOME). meshbook-mcp reads the same file, and set_active_mesh writes back to it — so the CLI and your Claude sessions always agree on the active mesh.

Client configuration

Claude Code

claude mcp add meshbook -- uvx meshbook-mcp

…or in .mcp.json / ~/.claude.json:

{
  "mcpServers": {
    "meshbook": {
      "command": "uvx",
      "args": ["meshbook-mcp"]
    }
  }
}

Claude Desktop

claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "meshbook": {
      "command": "uvx",
      "args": ["meshbook-mcp"]
    }
  }
}

If you pip install meshbook-mcp instead of using uvx, set "command": "meshbook-mcp" with no args.

What you get

Tools

Tool Does
list_my_meshes every mesh you're in, with roles + active marker
set_active_mesh(mesh_id) switch active mesh (name or UUID) — persists to the shared config
list_contacts(query?) / create_contact(first_name, last_name, email?, company?) CRM contacts
list_leads(stage?) / create_lead(title, value?, contact?) / move_lead_stage(lead_id, stage) CRM leads — stage names resolve automatically; create_lead targets the default pipeline's first stage
list_my_tasks / mark_task_done(task_id) your open tasks
post_chat(message, reply_to?) / read_thread(limit?) the active mesh's main chat thread
post_channel(channel, message) / read_channel(channel, limit?) channels, by #name or UUID
list_unread_notifications mentions, invites, assignments
attach_file(entity_type, entity_id, path) upload a local file to any entity (base64 JSON lane — no multipart)
download_attachment(attachment_id, out_path) save an entity attachment locally
export_mesh(mesh_id) / export_status(mesh_id) full mesh data export (§58) — admin/account-manager only

Resources

  • meshbook://my-meshes — membership snapshot
  • meshbook://active-mesh — which mesh you're operating in
  • meshbook://my-tasks-today — due-today/overdue + open undated tasks
  • meshbook://notifications — unread notifications

Prompts

  • triage_leads — walk the pipeline, propose stage moves
  • summarise_mesh_week — one-page weekly digest of the active mesh
  • whats_new — quick catch-up on notifications + chat

Design notes

  • Same wire contract as meshbook-cli. Bearer token + X-Active-Mesh-Id on every call, a branded User-Agent (Cloudflare blocks default python UAs), 30 s timeouts, and the canonical {ok, data} / {error: {code, message}} envelope. Errors surface as clean one-line tool errors — never tracebacks.
  • One dependency — the official mcp Python SDK. HTTP is stdlib urllib, exactly like the CLI.
  • Names, not UUIDs. Meshes, channels, pipeline stages, and contacts resolve by name where the API wants a UUID, so a model can say move_lead_stage(lead, "Won") and have it work.

Development

pip install -e ".[dev]"
pytest
ruff check .

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meshbook_mcp-0.1.0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meshbook_mcp-0.1.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file meshbook_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: meshbook_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for meshbook_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ca86fea73395cebafd294be8030fb8273299911aceac93a0981ef832ad356d7b
MD5 ddc2cf0da6499ca809faa33f9f37e34a
BLAKE2b-256 2552493ea5a26d08def1e999ddc4ba66ef02df48bc725e70c47c057e3f04d9d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshbook_mcp-0.1.0.tar.gz:

Publisher: ci.yml on tylnexttime/meshbook-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshbook_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: meshbook_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for meshbook_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8ee0fee77dcbc6af0aabf7ad12fcc1b56cf2ba9e2ee61fd799e51422697f242
MD5 3a08cba484cc8caaec952afa6ffbe5fd
BLAKE2b-256 858f6b01a01b634ebbc1f22885d385e9f5ed0d930ecb43ba45d98a1490519be0

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshbook_mcp-0.1.0-py3-none-any.whl:

Publisher: ci.yml on tylnexttime/meshbook-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page