Skip to content
Agentmart
Submit a tool

Nestr

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

Connector by nestr.ioOfficial · Domain verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)★ 6
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/nestr-io-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://mcp.nestr.io/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

Use cases: project-management

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
57 read · 39 write · 15 delete
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 111

Read from the source code; the running server may list different tools.

Read 57 · Look things up without changing anything.

  • nestr_api_spec
  • nestr_diagnose
  • nestr_explain_nest
  • nestr_get_agent_connectors
  • nestr_get_agent_mode
  • nestr_get_circle
  • nestr_get_circle_roles
  • nestr_get_comments
  • nestr_get_daily_plan
  • nestr_get_dm_posts
  • nestr_get_dm_thread
  • nestr_get_graph_links
Show 45 more tools
  • nestr_get_inbox_item
  • nestr_get_insight
  • nestr_get_insight_history
  • nestr_get_insights
  • nestr_get_label
  • nestr_get_me
  • nestr_get_nest
  • nestr_get_nest_activity
  • nestr_get_nest_children
  • nestr_get_nest_files
  • nestr_get_projects
  • nestr_get_tension
  • nestr_get_tension_changes
  • nestr_get_tension_part_children
  • nestr_get_tension_parts
  • nestr_get_tension_status
  • nestr_get_user
  • nestr_get_workspace
  • nestr_get_workspace_apps
  • nestr_help
  • nestr_hints_rollup
  • nestr_list_circles
  • nestr_list_connections
  • nestr_list_connector_templates
  • nestr_list_connectors
  • nestr_list_dms
  • nestr_list_inbox
  • nestr_list_labels
  • nestr_list_my_tensions
  • nestr_list_notifications
  • nestr_list_occurrences
  • nestr_list_personal_labels
  • nestr_list_queue_threads
  • nestr_list_queues
  • nestr_list_roles
  • nestr_list_tensions
  • nestr_list_tensions_awaiting_consent
  • nestr_list_user_roles
  • nestr_list_users
  • nestr_list_workspaces
  • nestr_my_activity
  • nestr_read_file
  • nestr_search
  • nestr_user_activity
  • nestr_workspace_docs

Write 39 · Create, change, send or run things.

  • nestr_add_comment
  • nestr_add_graph_link
  • nestr_add_label
  • nestr_add_tension_part
  • nestr_add_to_daily_plan
  • nestr_add_workspace_user
  • nestr_bind_connector
  • nestr_bulk_reorder
  • nestr_create_agent
  • nestr_create_inbox_item
  • nestr_create_nest
  • nestr_create_personal_label
Show 27 more tools
  • nestr_create_tension
  • nestr_create_tension_part_child
  • nestr_create_workspace
  • nestr_escalate_to_support
  • nestr_get_connect_link
  • nestr_mark_notifications_read
  • nestr_mark_post_read
  • nestr_modify_tension_part
  • nestr_post_dm_message
  • nestr_register_connector
  • nestr_reorder_inbox
  • nestr_reorder_inbox_item
  • nestr_reorder_nest
  • nestr_run_agent
  • nestr_set_agent_mode
  • nestr_start_dm_thread
  • nestr_update_agent
  • nestr_update_comment
  • nestr_update_connector
  • nestr_update_dm_thread
  • nestr_update_inbox_item
  • nestr_update_nest
  • nestr_update_occurrence
  • nestr_update_tension
  • nestr_update_tension_part_child
  • nestr_update_tension_status
  • nestr_upload_file

Delete 15 · Delete, drop, revoke or wipe things.

  • nestr_delete_comment
  • nestr_delete_file
  • nestr_delete_nest
  • nestr_delete_series
  • nestr_delete_tension
  • nestr_delete_tension_part_child
  • nestr_remove_connection
  • nestr_remove_connector
  • nestr_remove_from_daily_plan
  • nestr_remove_graph_link
  • nestr_remove_label
  • nestr_remove_tension_part
Show 3 more tools
  • nestr_revoke_connection_credential
  • nestr_set_recurrence
  • nestr_skip_occurrence

Network hosts it talks to 1

  • mcp.nestr.io · found in remote endpoint, install command

Files it touches

  • Any path the agent passes to its tools

Tools (111)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • nestr_add_comment

    Description is built at runtime.

  • nestr_add_graph_link

    Create a directed graph link from nestId to targetId. It reads as outgoing on nestId and incoming on targetId. E.g., link a tension to a meeting as an agenda item. For a Timeline dependency use relation 'depends_on' with nestId the item that waits and targetId the one it waits for: the same link dragging between two bars makes. A depends_on that would create a cycle, or tie a parent to its own child, is refused.

  • nestr_add_label

    Description is built at runtime.

  • nestr_add_tension_part

    Description is built at runtime.

  • nestr_add_to_daily_plan

    Add one or more items to the daily plan by applying the 'now' label. Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_add_workspace_user

    Adds a user to a workspace by email, creating the account if needed. It SENDS A REAL INVITE EMAIL, so confirm with the requester first. Covers seats, membership, plan headcount, adding a colleague. It provisions only domains the workspace added and Nestr verified: personal providers (gmail.com) are always refused, and an added domain stays refused until verified. That limits this tool, not the workspace. The in-app invite (Workspace settings, Users, "Invite users") accepts any address with no domain check, so offer it first on a refusal. NEVER suggest clearing the workspace domain list: it kee…

  • nestr_api_specread-only

    The deployment's own OpenAPI document, so you can check whether the API has something rather than concluding "I did not find it" and guessing. Call with no arguments for the operation index (method, path, one-line summary). `search` filters by keyword against path and summary. `path` returns the full schema for one operation, including its parameters. Use this to answer "is there an endpoint for X" with certainty, and note that a negative here is a real negative: if it is not in the spec, this deployment does not serve it. For the search query language rather than the HTTP surface, use nestr_h…

  • nestr_bind_connector

    Bind a registered connector to an owner so that owner can use it. Owner types: 'role' (ownerId is the role nest ID — the server finds or creates the connector's domain under it), 'role-domain' (ownerId is an existing domain nest ID), 'workspace' (ownerId is the workspace ID), 'user' (ownerId is a person's user ID, for their own account), or 'agent' (ownerId is a bot's user ID, for its own). A 'role' or 'role-domain' owner materialises a credentials field on the domain nest, so the role can use the connector and the Connect button renders there; the response then carries domainId (and domainCre…

  • nestr_bulk_reorder

    Bulk reorder nests. Provide a subset of IDs — they go to the top in given order, rest unchanged.

  • nestr_create_agent

    Create an agent user in the workspace. Workspace-admin only; a non-admin caller gets AUTH_SCOPE_INSUFFICIENT (call nestr_diagnose on any auth error). What decides how an agent behaves at run time is not this flag: it is whether the agent FILLS ANY ROLE in the workspace at that moment. Filling one and assisting are exclusive, and the test is not 'does it fill THIS role' but 'does it fill any', so one role anywhere makes every one of its runs a role-filler run, acting with that role's authority and reaching only the role's connectors. An agent that fills none assists whoever engages it, acting …

  • nestr_create_inbox_item

    Description is built at runtime.

  • nestr_create_nest

    Description is built at runtime.

  • nestr_create_personal_label

    Description is built at runtime.

  • nestr_create_tension

    Description is built at runtime.

  • nestr_create_tension_part_child

    Description is built at runtime.

Show 96 more tools
  • nestr_create_workspace

    Create a new workspace. Auth: OAuth only (user-scoped — workspace API keys cannot create new workspaces). On auth failure call nestr_diagnose. See nestr_help('workspace-setup') for guided setup.

  • nestr_delete_commentcan change or delete data

    Delete a comment (soft delete).

  • nestr_delete_filecan change or delete data

    Delete a file attachment from a nest (or comment). Get the file id from nestr_get_nest_files. A comment ID works as the nestId. This permanently removes the file. Auth: a token with delete access to the nest.

  • nestr_delete_nestcan change or delete data

    Delete a nest. For governance items in established workspaces, use tensions instead. On a recurring item this deletes only that one nest and never ends the series: deleting an occurrence skips it, and deleting the series nest hands the series to its next occurrence, which carries on as the series. To skip an occurrence use nestr_skip_occurrence, to delete it and every later one use nestr_skip_occurrence with scope 'following', and to delete the whole series use nestr_delete_series. The delete is checked against the rights of the person behind the token, including a workspace-bound OAuth or age…

  • nestr_delete_seriescan change or delete data

    Delete a whole recurring series: the series nest and every occurrence, past ones included. Use only when the series and its history should go. To stop repeating but keep the nests, use nestr_set_recurrence with rrule: null. To skip one occurrence, or remove one and every later one while keeping history, use nestr_skip_occurrence. Answers with `restoreId`, the series nest: restoring it in the Nestr app brings back that nest only, and the occurrences deleted with it are restored separately. Needs delete rights on the series and on every occurrence it removes, and a refusal writes nothing. Refuse…

  • nestr_delete_tensioncan change or delete data

    Delete a tension (soft delete).

  • nestr_delete_tension_part_child

    Soft-delete an accountability or domain from a proposal part. When the proposal is enacted, the original accountability/domain is removed from the role.

  • nestr_diagnoseread-only

    Server-side auth and session diagnostics. Call this FIRST when any other tool returns an auth error (AUTH_TOKEN_REJECTED_BY_NESTR / AUTH_REFRESH_FAILED / AUTH_SCOPE_INSUFFICIENT / AUTH_PROXY_HEADER_DROPPED). Returns: flow (A=server-managed refresh, B=client-managed refresh, unknown=API key), tokenPresented, tokenFingerprint, lastUpstream401At, lastRefreshAttempt, sessionCorrelationId, serverVersion, mcpClient, mcpClientVersion. Auth: none required — works whether or not the bearer is valid.

  • nestr_escalate_to_support

    Bring a human from Nestr support into a Nestradamus conversation. Use it when the person asks for a human, when you have answered the wrong question more than once, or when something needs Nestr staff to look at their account. Find the thread with nestr_list_dms({withUser:'nestr_support'}). Safe to call twice; a thread already waiting stays as it is. Only works on a conversation Nestradamus is in.

  • nestr_explain_nestread-only

    Diagnose a single nest: WHY it looks and behaves as it does. Returns field/property provenance (which label and circle defines each field, value, and property such as the icon), the caller's composed rights with a deny trace (why a field is read-only, why you cannot edit), and — when whoCan is given — who can perform an op and who to contact. Use this when a user asks 'why can't I ...', 'why is this read-only', 'where does this field come from', 'why does this role have a different icon', or 'who can change this'. When a role connector is held back on scheduled runs pending approval of the rol…

  • nestr_get_agent_connectorsread-only

    What an agent can and cannot use, and why. Groups each connector by where the grant comes from (its own binding, the workspace, or a role it fills) and, when unavailable, names the reason: no credential yet, the connector is disabled, it has no usable tools, or it no longer allows this kind of access. Reach for this when an agent seems to be missing something it should have.

  • nestr_get_agent_moderead-only

    How one agent operates on one nest: reactive (acts when mentioned, messaged or handed work) or autonomous on a cadence. `recheck` is "continuous" or an RRULE; `start` and `tzid` anchor it and `nextRunAt` is when it fires next. The mode is always per nest, never a setting of the agent as a whole, and items inherit it from their role or circle unless they set their own. `source` says which: own, inherited, or default.

  • nestr_get_circleread-only

    Get details of a specific circle including purpose, domains, and accountabilities.

  • nestr_get_circle_rolesread-only

    Get all roles within a specific circle, including accountabilities. Response includes meta.total showing total matching count.

  • nestr_get_commentsread-only

    Get comments and discussion history on a nest, including full nested reply threads. By default returns only comments posted directly on the given nest. Widen with depth to also include comments on descendant nests, or pass a workspace/circle nest ID with depth='all' to gather large sets of communication for analysis. Carries an unread_posts hint when you have not read everything; nestr_mark_post_read acknowledges up to a given post, on any nest, not just direct messages.

  • nestr_get_connect_link

    Get a link a PERSON opens to connect an account for a binding. This is how you finish setting up access: you can register a connector and give a role access, but you must never handle a raw token, so the sign-in or key entry happens behind this link. The link carries no authority — whoever opens it is checked then. Give it to the user in your reply.

  • nestr_get_daily_planread-only

    Get the user's daily plan — items marked for today. Spans all workspaces. Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_get_dm_postsread-only

    Read the posts in a direct-message thread, oldest first, each with its nested replies. Pass unread:true for just what is new, false for the rest.

  • nestr_get_dm_threadread-only

    Get a direct-message thread as a nest, with hints. Pass unread:true to embed the posts you have not read in the same call, which is usually what you want when picking a thread back up.

  • nestr_get_graph_linksread-only

    Get nests linked via a named graph relation. Links are directed: each row says whether it is outgoing (this nest links to it) or incoming (it links to this nest). Use 'meeting' relation to get agenda items or linked meetings. For Timeline dependencies use 'depends_on': outgoing are the predecessors this nest waits for, incoming are the nests waiting on it.

  • nestr_get_inbox_itemread-only

    Get details of a specific inbox item. Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_get_insightread-only

    Get a single metric with its current and compare values. Use after nestr_get_insights to drill into a specific metric. Requires the Insights app to be enabled.

  • nestr_get_insight_historyread-only

    Get historical data points for a metric over time. Use from/to for date range. Requires Insights app.

  • nestr_get_insightsread-only

    Get organizational health metrics and trends. Each metric has currentValue and compareValue for direction. Pro plan: filter by circle (nestId) or user (userId). Requires Insights app. See nestr_help('insights').

  • nestr_get_labelread-only

    Get details of a specific label, including fields, properties, group and autoComplete. `autoComplete: false` marks a system label: it is withheld from the label picker, and an already-applied one is hidden from the label tags on the nest too, so the person cannot see it in either place. Do not suggest such a label to a user, apply it as if they had chosen it, or tell them to click it on an item, because there is nothing there to click. It is not unreachable though: typing the id verbatim in the add/remove label modal still matches it, and a `label:` search on the id still finds the items carry…

  • nestr_get_meread-only

    CALL THIS FIRST at session start. Returns identity, operating mode, and workspaces. Use fullWorkspaces:true to include workspace details.

  • nestr_get_nestread-only

    Get nest details. Supports comma-separated IDs for batch fetch. Add hints=true for contextual signals, fieldsMetaData=true for the declared field schema of every label on the nest, including fields with no value. For a single nest you can also diagnose it: provenance, rights, and whoCan (see explain_nest for a one-shot diagnosis). The users array holds user ids; when presenting to a person, resolve them to names and/or emails via nestr_get_user or nestr_list_users.

  • nestr_get_nest_activityread-only

    What happened on a nest and, by default, everything beneath it, newest first: the Activity tab over the API. Each entry carries who did it (userId, agentUserId when an assistant acted), the sentence the app shows, and the same change as data in `changes`: one row per field with its value before and after, named as nestr_get_nest names them (title, users, parentId, data.<key>, fields.<label>.<code>). Agent runs appear as considerations with their summary, tools and outcome. Use depth to narrow (0 for the nest alone, N for N levels) and userId for one person's work. Paging is by cursor: read `ha…

  • nestr_get_nest_childrenread-only

    Get children of a nest, or just the ones you want. Pass `search` with the full operator syntax to ask for a subset rather than fetching everything and filtering: `search: 'label:role'` returns a circle's roles in one call. Paginated at 50 per page; read meta.total for the match count. Rows leave out text tab bodies (`fields` keys ending in `_texttab`); read those with nestr_get_nest.

  • nestr_get_nest_filesread-only

    List a nest's file attachments. Images pasted into the nest's text are deliberately excluded — they belong to the text that references them; the inline_images hint counts those and their ids come from the references in the content. A comment ID works too — files are keyed by nestId, so pass a comment ID to see files attached to that comment. Returns each file's id, name, contentType and size. Use nestr_read_file with a returned id to read one (JPEG/PNG/GIF/WebP come back as viewable image content; SVG comes back as its markup). Auth: any valid token with access to the nest.

  • nestr_get_projectsread-only

    List all projects in a workspace. Check fields['project.status'] for status (Future/Current/Waiting/Done). Paginated. Rows leave out text tab bodies (`fields` keys ending in `_texttab`); read those with nestr_get_nest.

  • nestr_get_tensionread-only

    Get a single tension with its current status. Use nestr_get_tension_status for per-user voting details.

  • nestr_get_tension_changesread-only

    Get the diff for a proposal part showing what will change (oldValue vs newValue).

  • nestr_get_tension_part_childrenread-only

    List accountabilities/domains of a proposal part. Use to review before managing individually.

  • nestr_get_tension_partsread-only

    Get all parts (proposed changes) of a tension. Review before submitting.

  • nestr_get_tension_statusread-only

    Get detailed tension status with per-user voting responses and timestamps.

  • nestr_get_userread-only

    Get details of a specific user including profile, roles, and contact info. Use it to resolve a user id to a name and email; when presenting users to a person, show names and/or emails, never bare ids.

  • nestr_get_workspaceread-only

    Get details of a specific workspace including its purpose and member count

  • nestr_get_workspace_appsread-only

    List a workspace's apps/features. Returns the FULL catalogue, each entry `{ _id, title, enabled }` — a disabled app is present with `enabled: false`, never absent, so test `enabled` and not presence. Note the field is `_id`, not `id`. Check before using features that require specific apps (e.g., Insights, Scrum, Meetings).

  • nestr_helpread-only

    Nestr documentation, three modes. (1) Internal topic: `topic` with a curated key (search, labels, nest-model, inbox, daily-plan, notifications, insights, tension-processing, skills, mcp-apps, authentication, scrum, okr, ...); 'topics' lists them all. (2) Help article: `topic` with a slug from nestr.io/help/articles/<slug>; returns markdown plus a numbered list of its images. Images are never attached by default: includeImages:true takes the first maxImages screenshots, imageIndexes:[..] takes chosen ones. Attach when the user wants to see how something looks. (3) Search: `search` with free tex…

  • nestr_hints_rollupread-only

    Count hints across a whole circle or workspace in one call. A hint on a single nest says "this one has this problem"; this says how many have it, which is the question you actually ask of a circle. Answers "how healthy is this circle", "how many projects are waiting with no reason", "how many roles have nobody in them" without reading every nest. Each result carries type, severity, count and a small sample to open. Read `notComputed`: it names every hint type this cannot count in one query, so a type listed there is unknown rather than zero. Do not sum counts across types, one nest can carry s…

  • nestr_list_circlesread-only

    List all circles (teams/departments) in a workspace. Response includes meta.total showing total matching count.

  • nestr_list_connectionsread-only

    List who has access to what in this workspace: each binding's connector, its owner (a role's domain, a person, an agent, or the whole workspace), and who holds a credential on it. Shows when an agent is using a person's account, and never returns a secret. Use it to check whether access already exists before giving more, and to find the connectionId for nestr_get_connect_link. A row with pendingInstructionApprovals is held back on scheduled runs until a person in its audience approves the role's latest instructions; its instructionApprovalNote says who can release it and how.

  • nestr_list_connector_templatesread-only

    The connector templates this deployment can add in one click, filtered to the ones it can actually offer. Each carries the vendor's real endpoint, transport, auth strategy and the deployment's OAuth client. CALL THIS FIRST, before nestr_register_connector, whenever the tool is a known vendor (Xero, HubSpot, Slack, Stripe, GitHub, Notion, Linear and so on). Hand-registering means guessing an endpoint, and a wrong guess authorises cleanly and then fails every call: a Xero connector registered against api.xero.com instead of the template's mcp.xero.com looked healthy in every record and returned…

  • nestr_list_connectorsread-only

    List the workspace's connector catalog: the mcp / cli / api templates an admin has registered. Each entry holds no secret and shows its type, name, authStrategy, config, capabilities, exposure ({ userAgent, domainGated }) and whether it is enabled. Typical flow: register a connector, then bind it to a role's domain with nestr_bind_connector, then a human or agent connects the account via the credentials field's Connect button (the secret is captured out-of-band, never by the agent). Auth: any valid token can list.

  • nestr_list_dmsread-only

    List your open direct-message threads, most recently posted first. Closed ones are left out unless includeCompleted is set. Pass withUser to see only the ones with a particular person; withUser:'nestr_support' is your Nestradamus conversation. Each thread carries participants, so a flat list still tells you who you are talking to.

  • nestr_list_inboxread-only

    List items in the user's personal inbox. Spans all workspaces. Auth: OAuth only (user-scoped — workspace API keys lack user identity). On auth failure call nestr_diagnose.

  • nestr_list_labelsread-only

    List available labels in a workspace. Each row carries only `_id` and `title`: for a label's fields, its `display` settings and autoComplete call nestr_get_label. Response includes meta.total showing total matching count. The list does not carry autoComplete, so it mixes labels a person can pick with internal machinery they cannot. Call nestr_get_label before offering a label as a choice to somebody.

  • nestr_list_my_tensionsread-only

    List tensions created by or assigned to the current user. Check at session start and natural breakpoints. Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_list_notificationsread-only

    List notifications. Use type 'me' for direct (mentions, replies) or 'relevant' for organizational changes. Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_list_occurrencesread-only

    List the occurrences of a recurring task, project or meeting, so you can name the one you want to act on. This is the ONLY way to see them: occurrences beyond the next one are virtual, meaning the rule produces the instant and no nest exists for it, so nestr_search and nestr_get_nest_children find nothing and asking them is not evidence the occurrences are missing. Returns one page mixing both kinds in date order, each entry carrying `instant` (epoch milliseconds, the key that identifies one occurrence), `virtual` (false means a real nest exists and `nestId` names it), `excluded` (this instant…

  • nestr_list_personal_labelsread-only

    List the current user's personal labels (not workspace labels). Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_list_queue_threadsread-only

    List threads in a support queue, most recently posted first. If you subscribe to the queue you get every thread in it; otherwise you get only the ones you raised, which is how you find your own open support tickets. Pass unread:true for just what has moved. Read one with nestr_get_dm_thread using the id you get back.

  • nestr_list_queuesread-only

    List the support queues you can see: the ones you monitor, plus any you have raised a thread in. Each carries `subscribed`, which decides what nestr_list_queue_threads returns for you.

  • nestr_list_rolesread-only

    List ALL roles that exist in a workspace, whoever fills them. Not the caller's roles: check each role's `users` array for who fills it, or use nestr_list_user_roles to ask who fills what. Response includes meta.total showing total matching count.

  • nestr_list_tensionsread-only

    List tensions for a circle or role. Supports search filtering. Rows leave out text tab bodies (`fields` keys ending in `_texttab`); read those with nestr_get_nest.

  • nestr_list_tensions_awaiting_consentread-only

    List tensions awaiting the current user's consent vote. Check proactively. Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_list_user_rolesread-only

    Which roles does a person actually FILL? Omit userId for yourself. This is the only correct way to answer "what are my roles?" — nestr_list_roles returns every role in the workspace, most of which are somebody else's. An empty result means they fill no roles yet, which is normal for a new member: report that plainly and never substitute the workspace's role list.

  • nestr_list_usersread-only

    List members of a workspace: its people, its agents, or both. Response includes meta.total showing total matching count. Also the tool to resolve user ids in bulk: when presenting users to a person, show names and/or emails, never bare ids. With agents:'only' this is how you find out which other agents exist and what each is for: an agent carries bot:true, its purpose in profile.agentDescription, and assistant:true when it may never fill a role. An assistant is the one to hand work to that needs a person's OWN credentials, which a role-filling agent cannot reach.

  • nestr_list_workspacesread-only

    List workspaces. Prefer nestr_get_me with fullWorkspaces:true at session start. Paginated with meta.total.

  • nestr_mark_notifications_read

    Mark all unread in-app notifications as read for the current user. Returns { status, data: { markedCount } }. Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_mark_post_read

    Mark a conversation read up to and including this post. Works for any post, not only direct messages. The marker never moves backwards, so calling it on an older post is harmless.

  • nestr_modify_tension_part

    Description is built at runtime.

  • nestr_my_activityread-only

    The caller's own activity across ALL their workspaces, newest first (gated by workspace membership and the token's scope). Not scoped to a project or a single nest — it's everything you've done. For an agent, this is how it sees what it has done: past considerations (with the tools used and the outcome), comments, governance changes, and other actions. Agent internal considerations from direct-message runs are redacted to an anonymous marker unless you pass withUser with that conversation's counterpart. Auth: OAuth only (user-scoped — workspace API keys lack user identity). On auth failure cal…

  • nestr_post_dm_message

    Post a message into a direct-message thread.

  • nestr_read_fileread-only

    Read a single file attachment on a nest (or comment). Branches on contentType: JPEG, PNG, GIF and WebP return as viewable image content so you can see them (very large images return metadata only); JSON, XML and text (application/json, text/*, and SVG, which is markup) return as decoded UTF-8 text (large text is truncated); PDFs, other image formats and everything else return their metadata only (cannot be inlined). Get file ids from nestr_get_nest_files, or, for an image pasted into a nest's text, from the ![name](/file/download?id=FILE_ID&name=NAME) reference in its content — those are not l…

  • nestr_register_connector

    Register a connector in the workspace catalog. PREFER A TEMPLATE: call nestr_list_connector_templates first and pass its id as templateId, which fills in the vendor's real endpoint, transport, auth strategy and this deployment's OAuth client. Hand-registering a known vendor means guessing an endpoint, and a wrong guess authorises cleanly and then fails every call. Only describe the transport yourself for something the deployment has no template for. A reusable mcp / cli / api template that holds no secret. Workspace-admin only. A non-admin caller gets AUTH_SCOPE_INSUFFICIENT (call nestr_diagno…

  • nestr_remove_connectioncan change or delete data

    Take a connector off an owner: the binding is removed and every credential on it revoked. Workspace-admin only. A domain left holding nothing goes back to being an ordinary descriptive domain.

  • nestr_remove_connectorcan change or delete data

    Remove a connector from the workspace catalog. Workspace-admin only. Bindings that named it stop resolving, so prefer nestr_update_connector with enabled:false when you only want to pause it.

  • nestr_remove_from_daily_plan

    Remove one or more items from the daily plan by removing the 'now' label. Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_remove_graph_linkcan change or delete data

    Remove the graph link from nestId to targetId. A link running the other way is left alone, and the error names the call that removes it. For example, remove a tension from a meeting's agenda by removing the 'meeting' relation.

  • nestr_remove_label

    Description is built at runtime.

  • nestr_remove_tension_partcan change or delete data

    Remove a proposal part, or propose deletion of an existing governance item.

  • nestr_reorder_inbox

    Reorder inbox items. Provide a subset of IDs — they go to the top in given order, rest unchanged. Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_reorder_inbox_item

    Reorder a single inbox item by positioning it before or after another inbox item. Auth: OAuth only (user-scoped). On auth failure call nestr_diagnose.

  • nestr_reorder_nest

    Reorder a nest by positioning it before or after another nest.

  • nestr_revoke_connection_credentialcan change or delete data

    Revoke the calling user's credential on a binding. The binding stays, so access can be restored by connecting again. Use nestr_remove_connection to remove the access entirely.

  • nestr_run_agent

    Run an agent now on a nest, optionally saying what the run is for. This is how one agent asks another to do something. The run is pinned to the nest you name and reports back there. You need assign rights on that nest and the agent must fill or be assigned to it, so this cannot run an agent anywhere in the workspace.

  • nestr_searchread-only

    Search nests in a workspace. Supports operators like label:, assignee:, createdby:, completed:, in:, sort:. createdby: accepts me, an email address, or a user id. Always use completed:false for active work. See nestr_help('search') for full syntax. Results carry user ids; when presenting to a person, show names and/or emails. Pass `linkedUsers: true` to get them all resolved in the same request rather than calling nestr_get_user per id. Rows leave out text tab bodies (`fields` keys ending in `_texttab`); read those with nestr_get_nest.

  • nestr_set_agent_mode

    Set how one agent operates on one nest: reactive, or autonomous on a cadence. The cadence (`recheck`) is "continuous" or an RRULE. Put the time of day in `start` and the zone in `tzid`, never in BYHOUR: weekdays at 09:00 Amsterdam time is recheck FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR with start 2026-10-12T09:00:00+02:00 and tzid Europe/Amsterdam. Applies to this nest and to the items under it that set nothing of their own; mode null clears this nest's own setting. A cadence re-checks one item until it is done, so it fits keeping an open-ended role or project moving. For a job that should happen aga…

  • nestr_set_recurrence

    Set or remove a task/project/meeting's recurrence rule. Pass an RFC-5545 RRULE string (e.g. 'FREQ=WEEKLY;BYDAY=MO,WE,FR;COUNT=10') to set it, or rrule: null to remove it. Setting a rule creates NO nests: occurrences are computed from the rule and stay virtual until something touches one (completing it, moving its dates, opening it), at which point that occurrence alone becomes a real nest. Do not tell the user their occurrences have been created. The rule expands from the nest's start, or its due when it has no start, and is refused when it has neither, so set a date first. An invalid RRULE is…

  • nestr_skip_occurrencecan change or delete data

    Skip ONE occurrence of a recurring series, or with scope 'following' delete it and every later one. With scope 'occurrence' (the default) it is for the person away that week, the meeting cancelled once, the task that does not apply this time. It excludes that single instant and nothing else. It does NOT end the series (unless the occurrence skipped is the first and nothing follows it, see below), does not change the rule, does not move any other occurrence, and does not destroy history: every past occurrence stays exactly as it was, and the skipped instant stays visible in nestr_list_occurrenc…

  • nestr_start_dm_thread

    Start a new direct-message thread with someone. Use it for a new subject rather than reopening an old thread. You must share a workspace with them, or already have a conversation with them. A DM needs at least one PERSON in it: agents cannot hold a private conversation with each other, and the server refuses one. That is the wrong channel rather than a missing permission, so do not ask anyone to widen anything. To reach another agent, comment on the work itself and mention them there, or raise a tension to the role that owns it, which keeps the exchange where the people accountable for the wor…

  • nestr_update_agent

    Change an existing agent's settings: its name, its description, whether it may search the web, its status, whether it may be assigned to roles, and its runtime config. Send only the fields to change; the rest are left as they are. Workspace-admin only; a non-admin caller gets AUTH_SCOPE_INSUFFICIENT (call nestr_diagnose on any auth error). The description is what the agent is LIKE, shown as its purpose wherever it is listed. It is not the agent's instructions: what the agent should DO lives in a skill nest under the role it fills, so a stale description is fixed here and a stale instruction i…

  • nestr_update_comment

    Description is built at runtime.

  • nestr_update_connector

    Update a connector in the workspace catalog, or switch it on and off with `enabled`. Workspace-admin only. Switching it off, or narrowing its exposure, takes effect immediately everywhere it is used: the policy is re-read every time a credential is handed out, not only when access was given.

  • nestr_update_dm_thread

    Update a direct-message thread: rename it, close or reopen it, or change who is in it. Send only the keys you want changed, as with nestr_update_nest. completed:true closes a conversation once it is dealt with, which takes it out of nestr_list_dms without losing it; completed:null reopens. `users` is the participant list you want, so read the thread first and send the list with someone added or removed; the bot and the person who raised the thread cannot be removed. Answers with the updated thread.

  • nestr_update_inbox_item

    Description is built at runtime.

  • nestr_update_nest

    Description is built at runtime.

  • nestr_update_occurrence

    Edit ONE occurrence of a recurring series: move this week's meeting, retitle one instance, assign one occurrence to someone else. Takes the same edit fields as nestr_update_nest, but not accountabilities, domains or workspaceId. If the occurrence is still virtual it is materialized first, then the changes are applied to that occurrence only; the rule and every other occurrence are untouched. With no fields it only materializes the occurrence. Answers with the nest: use its `_id` with every other nest tool from then on. Not all-or-nothing: the occurrence is materialized before the changes are a…

  • nestr_update_tension

    Description is built at runtime.

  • nestr_update_tension_part_child

    Description is built at runtime.

  • nestr_update_tension_status

    Submit a tension for consent ('proposed') or retract it to 'draft'. Proposing asks every other member of the circle to consent and notifies them. When there is nobody else to ask, the server enacts the tension at once and answers `status: "enacted"`: a governance proposal in a single-member circle, or a work request with no output or whose requester is its only assignee. Otherwise resolution happens through those consent votes, in a governance meeting or in the Nestr app, not through this tool. To observe the outcome, read nestr_get_tension_status, which reports `accepted` once the tension is …

  • nestr_upload_file

    Upload a file and attach it to a nest (or comment; files are keyed by nestId, so a comment ID attaches the file to that comment). Provide the file one of two ways: content (UTF-8 text, for text-native files you author directly such as .md, .csv, .json, .html, .svg, or code) or dataBase64 (base64-encoded bytes you already have). Any content type is accepted; the upload is rejected if it exceeds the server's maximum size (default 10MB). Returns the new file's descriptor (id, name, contentType, size). Auth: a token with write access to the nest.

  • nestr_user_activityread-only

    Another user's activity across the workspaces you share with them, newest first. Lets an agent see what a colleague or another agent has done: their past considerations (with the tools used and the outcome), comments, governance changes, and other actions. Agent internal considerations from direct-message runs show their substance only when you are a participant of that conversation, otherwise an anonymous marker. Auth: OAuth only (user-scoped — workspace API keys lack user identity). On auth failure call nestr_diagnose.

  • nestr_workspace_docsread-only

    The workspace's reference documents: an organisation constitution, a staff handbook, an onboarding guide, whatever this workspace uploaded for its agents to draw on. CALL THIS WITH NO ARGUMENTS FIRST to see what exists — the index lists each document with a description of what it holds and when to read it, and costs almost nothing. Then `search` across them for the passage that answers a question, or `fileId` to read one document. Prefer `search` over reading a whole document: the large ones run past half a million characters, and the answer is usually one section. These are the organisation's…

Signals

Stars
6
Forks
1
Open issues
0
Weekly downloads
740
Last commit
Oct 23, 2026 (6 days ago)
Last release
Oct 23, 2026 (6 days ago)
Last package publish
Oct 23, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.nestr/mcp
Version
0.2.4
Auth
Auth not stated
Packages
npm @nestr/mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Nestr MCP server. Agent Mart. https://agentmart.dev/connectors/nestr-io-mcp (last updated 2026-10-24)