Cursor Origin
The Origin MCP Server: Endpoints, Tools and Permissions
The Origin MCP server gives agents access to repositories and pull requests hosted on Origin through two endpoints: https://api.origin.cursor.com/mcp for every tool and /mcp/readonly for read-only tools. It lists 35 tools covering browsing, search, commits, pull requests, reviews, labels, checks and rulesets, and it is available only in Cursor and Grok Bot for now.

On this page
What is the Origin MCP server?
The Origin MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. server is the way an agent talks to Origin hosting without you writing API calls. Origin is in Early Beta and subject to change, so this section starts with who can use it today and what it can see.
The server is currently available only in Cursor and Grok BotAn early AI teammate product from SpaceXAI and Cursor that works across apps on a persistent cloud computer and asks for approval on selected actions; launch materials describe it as beta, but Cursor says Beta Services terms do not apply. Press Enter for the full definition., and Cursor says support for other agent harnesses is coming soon. It covers repository browsing and search, commits and branches, pull request reads and writes, reviews and comments, labels, reviewers and checks. Its tools only see repositories hosted on Origin at origin.cursor.com, addressed by their Origin namespace (owner) and repository name, and a repository that mirrors to Origin counts as hosted there.
That addressing rule trips people up. The tool schemas say a GitHub owner or organization name is not an Origin namespace unless list_namespaces returns it, so an agent should take the owner from list_namespaces or from an earlier Origin result and not assume the GitHub name carries over.
This is covered hands-on in Cursor Compile 2026 — 1 short Unit, free to read.
Rather do it than read about it? Run 11 interactive Cursor walkthroughs in a simulated editor. Free, no account needed.
Which endpoint and transport does the Origin MCP server use?
There are two endpoints and one transport. The choice of endpoint is how you decide, ahead of time, whether an agent is allowed to write at all.
- URL
https://api.origin.cursor.com/mcp- Tools listed
- Every tool the caller can use.
- URL
https://api.origin.cursor.com/mcp/readonly- Tools listed
- Read-only tools only. Tools that write are hidden and refused.
| URL | Tools listed |
|---|---|
https://api.origin.cursor.com/mcp | Every tool the caller can use. |
https://api.origin.cursor.com/mcp/readonly | Read-only tools only. Tools that write are hidden and refused. |
Endpoints from Cursor's Origin MCP documentation, checked October 17, 2026.
Sending the header x-mcp-readonly: true to /mcp has the same effect as calling /mcp/readonly, which is handy when a client lets you set headers but not change the URL. The server speaks MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. over stateless streamable HTTP and supports tools only. Each JSON-RPC message is a POST with Content-Type: application/json, and you should expect plain JSON back, with no sessions and no server-sent event streams.
What can an agent do with the 35 Origin MCP tools?
Cursor's tool reference lists every tool in listing order with an access class. Grouping them by what they touch makes the surface easier to hold in your head, and the counts below are tallied from that table.
- Area
- Repositories
- Tools
get_repository,list_repositories,list_namespaces,create_repository- Access
- Reads, plus
create_repositorywhich writes
- Area
- Code and history
- Tools
get_file_contents,get_git_tree,grep_contents,list_branches,list_commits,commit_read,compare_commits- Access
- Read-only
- Area
- Mirrors
- Tools
sync_mirror- Access
- Destructive, reaches outside Origin
- Area
- Pull request reads
- Tools
list_pull_requests,search_pull_requests,pull_request_read,checks_read- Access
- Read-only
- Area
- Pull request changes
- Tools
create_pull_request,update_pull_request,update_pull_request_base,merge_pull_request- Access
- Writes;
merge_pull_requestis destructive
- Area
- Reviews and comments
- Tools
- Create, update and dismiss reviews; create and update comments; inline comments; reply to and resolve threads
- Access
- Writes content other people see; dismissing a review is destructive
- Area
- Labels and reviewers
- Tools
update_pull_request_labels,create_label,request_pull_request_reviewers,remove_pull_request_reviewers- Access
- Writes
- Area
- Policy
- Tools
list_rulesets,get_ruleset,get_repository_access- Access
- Read-only
| Area | Tools | Access |
|---|---|---|
| Repositories | get_repository, list_repositories, list_namespaces, create_repository | Reads, plus create_repository which writes |
| Code and history | get_file_contents, get_git_tree, grep_contents, list_branches, list_commits, commit_read, compare_commits | Read-only |
| Mirrors | sync_mirror | Destructive, reaches outside Origin |
| Pull request reads | list_pull_requests, search_pull_requests, pull_request_read, checks_read | Read-only |
| Pull request changes | create_pull_request, update_pull_request, update_pull_request_base, merge_pull_request | Writes; merge_pull_request is destructive |
| Reviews and comments | Create, update and dismiss reviews; create and update comments; inline comments; reply to and resolve threads | Writes content other people see; dismissing a review is destructive |
| Labels and reviewers | update_pull_request_labels, create_label, request_pull_request_reviewers, remove_pull_request_reviewers | Writes |
| Policy | list_rulesets, get_ruleset, get_repository_access | Read-only |
Seventeen of the 35 tools appear on the read-only endpoint. A few of them have limits that shape how an agent should use them. grep_contents takes a regular expression matched case-sensitively unless you set literal or caseInsensitive, returns at most 1000 matching occurrences, sets limitHit when it reaches that cap, and has no pagination, so you narrow the query, filterPath, includes or excludes to reach other matches. Context lines before and after a match are capped at 10 each.
merge_pull_request deserves its own note because it understands stacks. It can land a pull request, or a stack up to and including it, and on a stack it lands every open pull request from the stack root through that one in a single commit, checking every member first and landing nothing if one is blocked. It requires the expected head SHA of the pull request, takes an optional mergeMethod of merge or squash, and where a merge queue owns the branch it queues the pull request instead, so mergeCommitSha and mergedPrefix come back empty because nothing has landed yet.
How do permissions and confirmation work?
Tool calls run as you, and two limits stack on top of each other. This section covers whose permissions apply and how clients are meant to pause before a risky call.
Calls are attributed to you, and from Grok BotAn early AI teammate product from SpaceXAI and Cursor that works across apps on a persistent cloud computer and asks for approval on selected actions; launch materials describe it as beta, but Cursor says Beta Services terms do not apply. Press Enter for the full definition. they show as your name via Grok Bot. Your access and the client's scopes both limit what a tool can do, under the same permission checks and rate limits as the equivalent Origin API request. Each tool lists its required scopes: for example grep_contents needs repository:contents:read, and merge_pull_request needs repository:contents:write. Some write actions, such as approving a pull request, are available only in Grok Bot.
Tools that are destructive or hard to undo set _meta["cursor/requiresConfirmation"]: true in tools/list, and Cursor clients show an approval prompt before every call to such a tool. In the tool reference, six tools carry that flag: create_repository, sync_mirror, update_pull_request_base, merge_pull_request, dismiss_pull_request_review and update_pull_request_review_thread. Other MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. clients can use the same flag, or the standard destructiveHint annotation, to decide when to ask the user.
The read-only endpoint hides write tools and also refuses them, so a misconfigured client cannot call a hidden tool by name. Your scopes and repository access still apply on the full endpoint, so a visible tool can fail with a forbidden result.
How does the Origin MCP server report errors and paginate?
A client that handles failures well needs to know which kind it received. This section covers the two error shapes and the paging rule for list tools.
A tool that fails returns a normal MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. tool result with isError: true. The text content is a readable message followed by a request ID, and the structured content carries a category, a message, a requestId and, only when the call was rate limited, retryAfterSeconds and a rateLimit object. The category is one of not_found, forbidden, quota_exceeded, conflict, validation_error or upstream_failure, and Cursor asks you to include the request ID when reporting a problem. Unknown tools and invalid parameters are different: they return JSON-RPC errors instead of tool results.
List tools page like the Origin API. Pass the returned nextPageToken as pageToken, with the same filters, to read the next page. The detail that matters is repeating the same filters on every page request, so a client should keep them alongside the token.
Frequently asked questions
Which clients can use the Origin MCP server?
Currently only Cursor and Grok Bot. Cursor's docs say support for other agent harnesses is coming soon, and Origin itself is in Early Beta and subject to change.
How do I give an agent read-only access to Origin repositories?
Point the client at https://api.origin.cursor.com/mcp/readonly, or send the header x-mcp-readonly: true to /mcp. Tools that write are hidden and refused on that endpoint.
Does the Origin MCP server support streaming or sessions?
No. It speaks MCP over stateless streamable HTTP, supports tools only, and returns plain JSON for each POST with no sessions or server-sent event streams.
Can the Origin MCP server see my GitHub repositories?
Only if they are hosted on Origin. A repository that mirrors to Origin counts as hosted there, but tools address repositories by Origin namespace and name, not by GitHub owner.
Sources & last verified
- Cursor docs: Origin MCP
- Cursor docs: Origin MCP tool reference
- Cursor docs: Origin API
- Cursor docs: Grok Bot
Cursor ships frequently. Facts verified against primary sources on October 17, 2026.