txt / mcp
Connect agents to txt—and txt to your tools
The txt endpoint gives compatible MCP clients scoped access to synchronized notes. The separate Executor endpoint gives the txt agent a user-scoped gateway to external MCP, OpenAPI, GraphQL, and connected-app tools.
https://txt.mn/mcp
Authenticated services are standardized on txt.mn: /mcp, /api, and /sync. Existing product-domain MCP URLs remain accepted and discover txt.mn for authorization.Executor for the txt agent
Vercel Connect connector executor.sh/executor points at https://executor.sh/dots/mcp. OAuth is scoped to the current Linq or Slack user. Use /tools to inspect the authorized catalog and /do request for an approval-governed action; txt files continue through the direct txt connection.
vercel connect create https://executor.sh/dots/mcp --name executor vercel connect attach executor.sh/executor --project txt-agent --environment production
Claude
open Claude connectors ↗Claude and Claude Desktop: Settings → Connectors → Add custom connector. Remote servers do not belong in claude_desktop_config.json. Claude Code can add the same endpoint from the terminal.
Claude / Desktop URL: https://txt.mn/mcp claude mcp add --transport http --scope user txt https://txt.mn/mcp # then open Claude Code and run /mcp to authenticate
Codex
OpenAI documentation ↗Add the Streamable HTTP server, then complete OAuth + PKCE in the system browser when Codex asks.
codex mcp add txt --url https://txt.mn/mcp --oauth-client-registration dcr codex mcp login txt --oauth-client-registration dcr
Cursor
Cursor MCP guide ↗Add this remote URL globally or per project. Cursor discovers OAuth automatically; its CLI shares the same configuration.
{
"mcpServers": {
"txt": { "url": "https://txt.mn/mcp" }
}
}
# optional Cursor CLI verification: agent mcp login txtGrok
open Grok connectors ↗Create one Custom connector and enter the public txt MCP URL. Grok should open OAuth before its first protected tool call.
Connector name: txt MCP server URL: https://txt.mn/mcp Authentication: OAuth
Know when it is actually connected
- 1. added
The client saved the endpoint and discovered public tool schemas. Private access is not proven yet.
- 2. authorized
You approved the requested scopes and the client received a bearer token.
- 3. verified
Ask the client to run
list-files. A successful result confirms the token reaches txt.
A green Added state alone means configuration succeeded. If the client shows Retry, remove the duplicate connector, add only https://txt.mn/mcp, complete OAuth, and verify with list-files.
WebMCP + remote MCP
All 38 txt tools
The signed-in N0T.ES editor registers these same tools with browsers that support WebMCP. Remote clients discover them from https://txt.mn/mcp. Both surfaces use the same authenticated handlers and schemas.
connect-fileswriteConnect two files in the workspace brain and optionally accept a pending suggestion.
- inputs
- sourceFileId, targetFileId, reason, suggestionId
create-agent-checkoutagent actionCreate a secure subscription checkout link for the authenticated phone-agent credential.
- inputs
- none
create-diagramwriteCreate a validated Mermaid diagram note.
- inputs
- name, source, folderId
create-filewriteCreate a workspace file and return its new file ID.
- inputs
- name, content, context, tags, fileType, folderId, availability
create-folderwriteCreate or reuse a workspace folder.
- inputs
- name, parentId, reuseExisting
create-publicationwriteTurn an existing folder into a private publication for dots.id subscribers.
- inputs
- folderId, title, description
derive-publication-notewriteSave a snapshot or fork an editable published note into the Notes Brain.
- inputs
- issueId, kind
file-inforeadInspect storage metadata, content type, byte size, and the private download endpoint without reading the body.
- inputs
- id
get-accountreadCheck the connected dots.id account, phone-agent subscription, workspace access, and available functions.
- inputs
- none
get-cluereadRead brain clusters, suggestions, unresolved wikilinks, profile, and optional semantic neighbors.
- inputs
- fileId (optional)
get-filereadRead the complete content of one file by its ID.
- inputs
- id
get-publicationreadPreview or read an authorized publication and its published notes.
- inputs
- slug
grow-ideation-noteAI actionExpand an owned note using its full contents and workspace-brain context.
- inputs
- id, seed
import-filewriteImport a public HTTPS attachment into the user’s private dots storage.
- inputs
- url, name, folderId, context, tags
ingest-imagewritePreserve an image, create or append its Markdown or Mermaid representation, and connect both workspace files.
- inputs
- url, originalName, outputType, content, noteName, targetFileId, folderId, context, tags
inspect-skillreadRead a skills.sh package snapshot and its security audits without installing its untrusted contents.
- inputs
- id, agent
install-skillwriteInstall an audited package into the private .skills workspace; high-risk or failed audits remain blocked.
- inputs
- id, agent, folderId, files
list-filesreadList workspace folders and files with IDs, types, sizes, timestamps, and endpoint paths.
- inputs
- none
list-fx-modelsreadList the allowlisted models available for FX artifact iteration and identify the default.
- inputs
- includeIds
list-identitiesreadList connected dots.id users and identify the active user for this credential.
- inputs
- none
list-publication-subscriptionsreadList publication subscriptions for the active dots.id identity.
- inputs
- none
list-publicationsreadList owned folder publications with reader and published-note counts.
- inputs
- none
list-skillsreadList published agent skills, including collaborator-shared skills and their catalog paths.
- inputs
- none
publish-filewritePublish the current immutable revision of a note in a publication folder.
- inputs
- publicationId, fileId
purge_trashed_notepermanentPermanently delete an eligible trashed note using the exact confirmation phrase.
- inputs
- id, confirmation
render-artifactwriteRender a source note into a validated static artifact and deployment handoff.
- inputs
- fileId, format, design
resolve-fileread / optional writeResolve an owned workspace path to a file ID. Creating missing folders or an empty note requires file write access and defaults to off.
- inputs
- path, createIfMissing
restore_notewriteRestore a trashed note to the normal workspace.
- inputs
- id
run_aclueAI actionRe-reason over the workspace, updating brain state and possibly creating unreviewed drafts.
- inputs
- confirmation
search-skillsreadSearch private txt skills and the federated skills.sh catalog as untrusted discovery metadata.
- inputs
- query, owner, view, limit
set-publication-subscriptionwriteSubscribe or unsubscribe the signed-in dots.id user from a publication.
- inputs
- slug, active
share-filewriteCreate a short-lived external download link for a dots-backed file.
- inputs
- id, expiresIn
shorten-dropbox-linkwriteCreate a short txt preview or gallery link from a public Dropbox share URL.
- inputs
- url
start-agent-onboardingagent actionComplete phone-agent onboarding or return the required secure checkout link.
- inputs
- none
switch-identitywriteSwitch the active dots.id user for only this MCP or phone connection.
- inputs
- target
trash_notewriteMove a note to reversible trash for the retention period.
- inputs
- id
update-filewriteChange a file’s content, name, context, tags, or local-mirror availability.
- inputs
- id + content, name, context, tags, or availability
view-skillwriteSave an inert private package snapshot under .viewed-skills for review without installing it.
- inputs
- id
The endpoint uses Streamable HTTP and standard JSON-RPC initialization. OAuth clients discover txt’s public authorization server, register with DCR, use PKCE S256, and request scoped access. Clients without OAuth can use a scoped txt_… key from /sync.
Start with list-files or list-skills. Use trash_note for ordinary removal; permanent purge applies only to an already-trashed note and requires exact confirmation.
generic MCP configuration
{
"mcpServers": {
"txt": {
"url": "https://txt.mn/mcp"
}
}
}