Back to Directory/Developer Tools

io.nestr/mcp

Connect AI to Nestr for Holacracy, Sociocracy, and self-organizing teams.

Developer ToolsTypeScriptv0.1.73

@nestr/mcp

MCP (Model Context Protocol) server for Nestr - connect AI assistants like Claude to your workspace.

What is this?

This MCP server allows AI assistants to interact with your Nestr workspace:

  • Search for tasks, projects, and roles
  • Create and update nests
  • View organizational structure (circles, roles, accountabilities)
  • Get workspace insights and metrics
  • Add comments and collaborate

Quick Start

Visit mcp.nestr.io for the easiest setup with step-by-step instructions for Claude Desktop, Claude Code, and Cursor.

Claude Desktop

  1. Go to Settings → Connectors → Add custom connector
  2. Set Name to Nestr and Remote MCP URL to https://mcp.nestr.io/mcp
  3. Click "Add" then "Authenticate" to log in with Nestr

Claude Code

bash
claude mcp add nestr --transport http https://mcp.nestr.io/mcp

Then run /mcp in Claude Code and click "Authenticate" to log in.

Using the npm Package (Local)

If you prefer to run the MCP server locally:

bash
npx @nestr/mcp

Configure your AI client with:

json
{
  "mcpServers": {
    "nestr": {
      "command": "npx",
      "args": ["-y", "@nestr/mcp"],
      "env": {
        "NESTR_API_KEY": "your-api-key-here"
      }
    }
  }
}

To get an API key:

  1. Go to your Nestr workspace
  2. Click SettingsIntegrationsWorkspace API accessConfigure
  3. Click "New API key" and copy it

Start Using It

Ask your AI assistant things like:

  • "What workspaces do I have access to?"
  • "Search for tasks related to marketing"
  • "Create a new project called 'Q1 Planning'"
  • "What are my current projects and their status?"
  • "Who is responsible for customer support?"

Available Tools

Workspace & Search

ToolDescription
nestr_list_workspacesList accessible workspaces
nestr_get_workspaceGet workspace details
nestr_create_workspaceCreate a new workspace (OAuth only)
nestr_searchSearch for nests (tasks, projects, roles)
nestr_get_meGet current user identity and workspace list

Nests (Tasks, Projects, Roles)

ToolDescription
nestr_get_nestGet details of a specific nest (supports batch fetch with comma-separated IDs)
nestr_get_nest_childrenGet child nests
nestr_create_nestCreate a new nest
nestr_update_nestUpdate nest properties
nestr_delete_nestDelete a nest
nestr_reorder_nestReorder a nest relative to another
nestr_bulk_reorderBulk reorder multiple nests
nestr_add_labelAdd a label to a nest
nestr_remove_labelRemove a label from a nest

Comments & Discussion

ToolDescription
nestr_add_commentAdd a comment to a nest
nestr_get_commentsGet comments/discussion on a nest
nestr_update_commentUpdate a comment
nestr_delete_commentDelete a comment

Organization Structure

ToolDescription
nestr_list_circlesList organizational circles
nestr_get_circleGet circle details
nestr_get_circle_rolesGet roles in a circle with accountabilities and domains
nestr_list_rolesList all roles
nestr_list_usersList workspace members
nestr_get_userGet user details
nestr_add_workspace_userAdd a user to the workspace

Tensions

ToolDescription
nestr_create_tensionCreate a tension on a circle or role
nestr_get_tensionGet tension details
nestr_list_tensionsList tensions on a circle or role
nestr_update_tensionUpdate a tension
nestr_delete_tensionDelete a tension
nestr_get_tension_partsGet proposal parts of a tension
nestr_add_tension_partAdd a proposal part (new/changed governance item)
nestr_modify_tension_partModify a proposal part
nestr_remove_tension_partRemove a proposal part
nestr_get_tension_part_childrenGet children (accountabilities/domains) of a proposal part
nestr_create_tension_part_childAdd a child to a proposal part
nestr_update_tension_part_childUpdate a proposal part child
nestr_delete_tension_part_childDelete a proposal part child
nestr_get_tension_changesPreview the diff a proposal part would apply
nestr_get_tension_statusGet voting status for a tension
nestr_update_tension_statusSubmit for voting or retract to draft

Graph Links

ToolDescription
nestr_get_graph_linksGet nests linked via a named relation (e.g., meeting agenda items)
nestr_add_graph_linkCreate a bidirectional link between two nests
nestr_remove_graph_linkRemove a link between two nests

Labels & Projects

ToolDescription
nestr_list_labelsList workspace labels
nestr_get_labelGet label details
nestr_get_projectsList projects with status

Insights & Apps

ToolDescription
nestr_get_insightsGet workspace metrics
nestr_get_insight_historyGet historical trend data for a metric
nestr_get_workspace_appsList enabled apps/features

Personal (OAuth only)

ToolDescription
nestr_get_meGet current user identity and workspaces
nestr_list_inboxList items in user's inbox
nestr_create_inbox_itemQuick capture to inbox
nestr_get_inbox_itemGet inbox item details
nestr_update_inbox_itemUpdate inbox item
nestr_reorder_inboxReorder inbox items
nestr_list_personal_labelsList user's personal labels
nestr_create_personal_labelCreate a personal label
nestr_get_daily_planGet items marked for today
nestr_add_to_daily_planAdd items to today's focus
nestr_remove_from_daily_planRemove items from today's focus
nestr_list_my_tensionsList tensions authored by or assigned to you
nestr_list_tensions_awaiting_consentList governance proposals needing your vote

MCP Apps (Interactive UI)

MCP Apps are interactive UI components that can be embedded in MCP clients that support them (like Claude.ai). They provide rich, visual interfaces for working with Nestr data.

Completable List

Resource URI: ui://nestr/completable-list

An interactive list for viewing and completing tasks and projects.

Features:

  • Projects show a box icon, todos show a checkbox
  • Check items to mark them complete (strikethrough)
  • Inline editing of titles (auto-saves)
  • Drag-and-drop reordering
  • Shows parent path for context
  • Quick link to open item in Nestr

Usage: When an AI assistant returns task or project results, supporting clients can render this interactive UI instead of plain text, allowing you to complete items, edit titles, and reorder directly in the chat.

Authentication

OAuth (Recommended)

The hosted service at mcp.nestr.io handles OAuth automatically. Just add the server and authenticate through your browser.

OAuth respects user-specific permissions - the AI assistant can only access what the authenticated user can access.

API Key

API keys provide full workspace access and work with the local npm package. See Quick Start above.

Note: API keys have full workspace access regardless of user permissions.

Environment Variables

Authentication (Required)

VariableDescription
NESTR_API_KEYNestr API key (full workspace access)
NESTR_OAUTH_TOKENOAuth token (respects user permissions)

* Either NESTR_API_KEY or NESTR_OAUTH_TOKEN is required for local usage.

Configuration (Optional)

VariableDescriptionDefault
NESTR_API_BASEAPI base URLhttps://app.nestr.io/api

Hosting/Server (HTTP transport only)

These are used when running the HTTP server for hosted deployments:

VariableDescriptionDefault
PORTHTTP server port3000
NESTR_OAUTH_CLIENT_IDOAuth client ID for hosted OAuth flow-
NESTR_OAUTH_CLIENT_SECRETOAuth client secret-
OAUTH_ENCRYPTION_KEY32-byte base64 key for encrypting OAuth sessions at rest-
GTM_IDGoogle Tag Manager container ID for landing page-

Analytics (Optional)

Server-side analytics options:

GA4 Measurement Protocol:

VariableDescription
GA4_MEASUREMENT_IDGA4 Measurement ID (e.g., G-XXXXXXXXXX)
GA4_API_SECRETMeasurement Protocol API secret
GA4_DEBUGSet to true to validate events without recording

Note: Both GA4_MEASUREMENT_ID and GA4_API_SECRET are required for GA4 tracking. If only the measurement ID is set, a warning is logged and tracking is disabled.

MCPcat (MCP-specific analytics):

VariableDescription
MCPCAT_PROJECT_IDMCPcat project ID (from mcpcat.io)
MCPCAT_ENABLE_REPLAYEnable session replay (default: false)

Development

bash
# Clone the repository
git clone https://github.com/nestr-dev/nestr-mcp.git
cd nestr-mcp

# Install dependencies
npm install

# Set your API key
export NESTR_API_KEY=your-api-key

# Run in development mode (stdio)
npm run dev

# Run HTTP server for local testing
npm run dev:http

# Build for production
npm run build

# Test with MCP Inspector
npm run inspect

Security

  • Never commit your API key or OAuth token to version control
  • OAuth tokens respect user permissions and are recommended
  • API keys provide full workspace access - use OAuth for granular permissions
  • Rotate credentials if you suspect they've been compromised

Resources

License

MIT - see LICENSE

Support

Learn More