npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@nestr/mcp

v0.1.51

Published

MCP server for Nestr - the platform for self-organizing teams practicing Holacracy, Sociocracy, and role-based work. Manage circles, roles, tactical meetings, governance meetings, tensions, and more.

Readme

@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

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:

npx @nestr/mcp

Configure your AI client with:

{
  "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

| Tool | Description | |------|-------------| | nestr_list_workspaces | List accessible workspaces | | nestr_get_workspace | Get workspace details | | nestr_create_workspace | Create a new workspace (OAuth only) | | nestr_search | Search for nests (tasks, projects, roles) | | nestr_get_me | Get current user identity and workspace list |

Nests (Tasks, Projects, Roles)

| Tool | Description | |------|-------------| | nestr_get_nest | Get details of a specific nest (supports batch fetch with comma-separated IDs) | | nestr_get_nest_children | Get child nests | | nestr_create_nest | Create a new nest | | nestr_update_nest | Update nest properties | | nestr_delete_nest | Delete a nest | | nestr_reorder_nest | Reorder a nest relative to another | | nestr_bulk_reorder | Bulk reorder multiple nests | | nestr_add_label | Add a label to a nest | | nestr_remove_label | Remove a label from a nest |

Comments & Discussion

| Tool | Description | |------|-------------| | nestr_add_comment | Add a comment to a nest | | nestr_get_comments | Get comments/discussion on a nest | | nestr_update_comment | Update a comment | | nestr_delete_comment | Delete a comment |

Organization Structure

| Tool | Description | |------|-------------| | nestr_list_circles | List organizational circles | | nestr_get_circle | Get circle details | | nestr_get_circle_roles | Get roles in a circle with accountabilities and domains | | nestr_list_roles | List all roles | | nestr_list_users | List workspace members | | nestr_get_user | Get user details | | nestr_add_workspace_user | Add a user to the workspace |

Tensions

| Tool | Description | |------|-------------| | nestr_create_tension | Create a tension on a circle or role | | nestr_get_tension | Get tension details | | nestr_list_tensions | List tensions on a circle or role | | nestr_update_tension | Update a tension | | nestr_delete_tension | Delete a tension | | nestr_get_tension_parts | Get proposal parts of a tension | | nestr_add_tension_part | Add a proposal part (new/changed governance item) | | nestr_modify_tension_part | Modify a proposal part | | nestr_remove_tension_part | Remove a proposal part | | nestr_get_tension_part_children | Get children (accountabilities/domains) of a proposal part | | nestr_create_tension_part_child | Add a child to a proposal part | | nestr_update_tension_part_child | Update a proposal part child | | nestr_delete_tension_part_child | Delete a proposal part child | | nestr_get_tension_changes | Preview the diff a proposal part would apply | | nestr_get_tension_status | Get voting status for a tension | | nestr_update_tension_status | Submit for voting or retract to draft |

Graph Links

| Tool | Description | |------|-------------| | nestr_get_graph_links | Get nests linked via a named relation (e.g., meeting agenda items) | | nestr_add_graph_link | Create a bidirectional link between two nests | | nestr_remove_graph_link | Remove a link between two nests |

Labels & Projects

| Tool | Description | |------|-------------| | nestr_list_labels | List workspace labels | | nestr_get_label | Get label details | | nestr_get_projects | List projects with status |

Insights & Apps

| Tool | Description | |------|-------------| | nestr_get_insights | Get workspace metrics | | nestr_get_insight_history | Get historical trend data for a metric | | nestr_get_workspace_apps | List enabled apps/features |

Personal (OAuth only)

| Tool | Description | |------|-------------| | nestr_get_me | Get current user identity and workspaces | | nestr_list_inbox | List items in user's inbox | | nestr_create_inbox_item | Quick capture to inbox | | nestr_get_inbox_item | Get inbox item details | | nestr_update_inbox_item | Update inbox item | | nestr_reorder_inbox | Reorder inbox items | | nestr_list_personal_labels | List user's personal labels | | nestr_create_personal_label | Create a personal label | | nestr_get_daily_plan | Get items marked for today | | nestr_add_to_daily_plan | Add items to today's focus | | nestr_remove_from_daily_plan | Remove items from today's focus | | nestr_list_my_tensions | List tensions authored by or assigned to you | | nestr_list_tensions_awaiting_consent | List 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)

| Variable | Description | |----------|-------------| | NESTR_API_KEY | Nestr API key (full workspace access) | | NESTR_OAUTH_TOKEN | OAuth token (respects user permissions) |

* Either NESTR_API_KEY or NESTR_OAUTH_TOKEN is required for local usage.

Configuration (Optional)

| Variable | Description | Default | |----------|-------------|---------| | NESTR_API_BASE | API base URL | https://app.nestr.io/api |

Hosting/Server (HTTP transport only)

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

| Variable | Description | Default | |----------|-------------|---------| | PORT | HTTP server port | 3000 | | NESTR_OAUTH_CLIENT_ID | OAuth client ID for hosted OAuth flow | - | | NESTR_OAUTH_CLIENT_SECRET | OAuth client secret | - | | OAUTH_ENCRYPTION_KEY | 32-byte base64 key for encrypting OAuth sessions at rest | - | | GTM_ID | Google Tag Manager container ID for landing page | - |

Analytics (Optional)

Server-side analytics options:

GA4 Measurement Protocol:

| Variable | Description | |----------|-------------| | GA4_MEASUREMENT_ID | GA4 Measurement ID (e.g., G-XXXXXXXXXX) | | GA4_API_SECRET | Measurement Protocol API secret | | GA4_DEBUG | Set 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):

| Variable | Description | |----------|-------------| | MCPCAT_PROJECT_ID | MCPcat project ID (from mcpcat.io) | | MCPCAT_ENABLE_REPLAY | Enable session replay (default: false) |

Development

# 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