Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Connect AI to Nestr for Holacracy, Sociocracy, and self-organizing teams.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.nestr.io/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"nestr": {
"command": "npx",
"args": [
"-y",
"@nestr/mcp"
]
}
}
}Run this in your terminal
claude mcp add --transport http nestr https://mcp.nestr.io/mcpclaude mcp add nestr -- npx -y @nestr/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"nestr": {
"url": "https://mcp.nestr.io/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"nestr": {
"command": "npx",
"args": [
"-y",
"@nestr/mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"nestr": {
"type": "http",
"url": "https://mcp.nestr.io/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"nestr": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@nestr/mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.nestr.io/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain nestr.io (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 119 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.2.7) reached the registry 4 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Microsoft Exchange Online MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Exchange Online admin for MSPs: forwarding audits, EWS posture and offboarding, no PowerShell
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP (Model Context Protocol) server for Nestr - connect AI assistants like Claude to your workspace.
This MCP server allows AI assistants to interact with your Nestr workspace:
Visit [mcp.nestr.io](https://mcp.nestr.io) for the easiest setup with step-by-step instructions for Claude Desktop, Claude Code, and Cursor.
Nestr and Remote MCP URL to https://mcp.nestr.io/mcpclaude mcp add nestr --transport http https://mcp.nestr.io/mcp
Then run /mcp in Claude Code and click "Authenticate" to log in.
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:
Ask your AI assistant things like:
| 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 |
| Tool | Description |
|---|---|
nestr_get_nest | Get details of a specific nest (supports batch fetch with comma-separated IDs; single-nest provenance/rights/whoCan flags available) |
nestr_explain_nest | Diagnose one nest: field/property provenance (which label/circle defines each), the caller's composed rights with a deny trace, and (with whoCan) who can act on it and who to contact |
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 |
| Tool | Description |
|---|---|
nestr_set_recurrence | Set or remove a task, project or meeting's recurrence rule |
nestr_list_occurrences | List a series' occurrences, virtual and materialized, each with the instant the tools below take |
nestr_skip_occurrence | Skip one occurrence without ending the series, or with scope: "following" delete it and every later one |
nestr_update_occurrence | Edit one occurrence, materializing it first if it is still virtual |
nestr_delete_series | Delete a whole series, past occurrences included |
| Tool | Description |
|---|---|
nestr_add_comment | Add a comment to a nest |
nestr_get_comments | Get comments/discussion on a nest |
nestr_get_nest_activity | What happened on a nest and beneath it, with each change as data |
nestr_update_comment | Update a comment |
nestr_delete_comment | Delete a comment |
| 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 and email them an invite (API provisioning needs a verified domain; the in-app invite does not) |
| 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 |
| 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 |
| Tool | Description |
|---|---|
nestr_list_labels | List workspace labels |
nestr_get_label | Get label details |
nestr_create_label | Create a workspace label (workspace admin) |
nestr_update_label | Edit a workspace label's title, color, icon, group, properties or fields (workspace admin) |
nestr_delete_label | Delete a workspace label, with confirm: true (workspace admin) |
nestr_get_projects | List projects with status |
| Tool | Description |
|---|---|
nestr_get_insights | Get workspace metrics |
nestr_get_insight_history | Get historical trend data for a metric |
nestr_list_series | List a nest's dataseries (metric history, goal progress, burndown) |
nestr_get_series_points | Read a dataseries' dated points |
nestr_add_series_points | Load up to 500 dated points, e.g. a backfill |
nestr_update_series_point | Change a point's date or value |
nestr_delete_series_point | Remove a point |
nestr_get_workspace_apps | List enabled apps/features |
| 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 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.
Resource URI: ui://nestr/completable-list
An interactive list for viewing and completing tasks and projects.
Features:
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.
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 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.
| 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.
| Variable | Description | Default |
|---|---|---|
NESTR_API_BASE | API base URL | https://app.nestr.io/api |
NESTR_UPLOAD_DIRS | Extra folders nestr_upload_file may read a filePath from, separated by : (; on Windows). ~ is your home folder. Hidden files and folders are always refused. | The working directory only, unless it is / or your home folder |
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 | - |
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) |
# Clone the repository
git clone https://github.com/nestr-dev/nestr-mcp.git cd nestr-mcp
npm install
export NESTR_API_KEY=your-api-key
npm run dev
npm run dev:http
npm run build
npm run inspect
SECURITY.md is the full policy: how to report a vulnerability, what the three authorisation surfaces reach, and what this server does and does not store. The essentials:
Only the beginning is shown; read the rest in the repo