Reason

io.github.reason-machinesPublished by GitHub account reason-machinesv1.0.0Updated Oct 24, 2026

Start and manage Reason cloud coding agents, projects and sessions from any MCP client.

VerifiedStreamable HTTPWeb executableDeveloper ToolsAI & ML

Overview

AI-generated overview

Remote MCP server for Reason cloud coding agents: start, follow and review coding sessions and pull requests from any MCP client.

What you can do
  • Start coding sessions on a repository with a prompt, then inspect their status, outcome, result and pull request link
  • List and follow sessions, including paginated lists and recent session history
  • Check the connected workspace and identity, and read the API status and data returned by each call
  • Upload small files as base64 bodies and obtain authorized download links for results
  • Hand off tasks such as fixing a bug, reviewing a pull request, repairing CI or answering questions about a codebase
When to use it
Useful when you want an assistant to delegate coding work to Reason's cloud agents — opening pull requests, reviewing changes, fixing failing CI or answering questions about a repository — and to track those sessions from the same client.
Requirements
A remote Streamable HTTP endpoint at mcp.reasonmachines.com with OAuth sign-in through the browser; a Reason account with a workspace and GitHub connected. Headless integrations can instead use a scoped Reason API key sent as an Authorization bearer header.
Before you install
Creating a session starts asynchronous work in your workspace and can open pull requests, so review results rather than assuming completion. OAuth credentials are audience-bound and cannot be reused as REST logins. Keep API keys out of prompts, shared config files and URLs, and do not forward your bearer token to returned download links. Access follows workspace membership and scopes; revoke the connection when done.

Installation

In SourceWeft

  1. Open Reason in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.reason-machines%2Freason/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "reason": {
      "type": "http",
      "url": "https://mcp.reasonmachines.com/mcp"
    }
  }
}

README

Reason plugins for Claude Code, Codex, Cursor and Grok Bot

Connect a coding agent to your Reason workspace at https://mcp.reasonmachines.com/mcp. Sign in through your browser, choose a workspace, review permissions, and connect. The plugin contains no API key, credential, local executable or hook.

Install the Reason plugin

Claude Code

sh
claude plugin marketplace add reason-machines/reason-pluginsclaude plugin install reason@reason

Open /mcp in Claude Code and authenticate Reason when prompted.

Codex

sh
codex plugin marketplace add reason-machines/reason-pluginscodex plugin add reason@reason

Enable Reason and complete the browser authentication prompt. Reload the client if its tool list was already open when you installed the plugin.

These are Reason Machines' publisher-owned plugins. Installation does not depend on acceptance into Anthropic's curated marketplace or OpenAI's public directory; those services review and approve listings separately.

Grok Bot and Cursor

Grok Bot (x.ai/bot) installs plugins from the Cursor Marketplace, so one Cursor plugin serves both. Once the listing is live, open it in either app, choose Add to Grok Bot or Add to Cursor, and complete the browser sign-in when Reason first asks.

The plugin contains:

  • the reason skill: how to hand any coding task to Reason, follow it and return the session link and pull request;
  • slash commands /reason-fix, /reason-build, /reason-review, /reason-fix-ci, /reason-ask and /reason-status;
  • a reason-handoff rule the agent applies when a request touches code;
  • the Reason MCP server, https://mcp.reasonmachines.com/mcp, with OAuth only.

Until the listing is approved, Cursor can connect the MCP server alone: Add Reason to Cursor.

For privacy details, see the Privacy Policy and Terms of Service. For support, contact [email protected].

In the Codex app, open Plugins → Add → Add plugin marketplace, paste https://github.com/reason-machines/reason-plugins, and add the marketplace. Leave Git ref and Sparse paths empty. Select Reason MCP → Install, then complete the browser authentication prompt. No separate MCP configuration is needed.

The marketplace identifier is reason.

Moving from the Ara plugin

Reason was called Ara, and this repository was Aradotso/ara-mcp. The ara plugin (and ara-handoff before it) connected to a server that is now retired: https://api.ara.so/mcp/ara answers HTTP 410. The reason plugin replaces both.

Claude Code

If you added the marketplace under its old name, it is still registered as ara on your machine. Refresh it and install the plugin under its new name:

sh
claude plugin marketplace update araclaude plugin install reason@ara

Then open /mcp and authenticate Reason. After the refresh Claude Code no longer loads the retired server and moves your ara@ara (or ara-handoff@ara) setting to reason@ara; the install fetches the plugin itself.

Codex

Codex keeps serving an installed plugin until you remove it, so remove the old one and add the new one:

sh
codex plugin remove ara@aracodex plugin marketplace remove aracodex plugin marketplace add reason-machines/reason-pluginscodex plugin add reason@reason

Cursor and other clients

Delete the ara entry whose URL ends in /mcp/ara from your MCP configuration (~/.cursor/mcp.json for Cursor) and add the server shown under Other MCP clients.

If you have the Reason CLI, reason mcp uninstall removes the retired registrations from Claude Code, Codex and Cursor in one step.

More from Reason

Connect without a plugin

Claude Code

sh
claude mcp add --transport http reason https://mcp.reasonmachines.com/mcp

Then open /mcp and authenticate Reason.

Codex

sh
codex mcp add reason --url https://mcp.reasonmachines.com/mcpcodex mcp login reason

Other MCP clients

Choose a remote Streamable HTTP server with URL https://mcp.reasonmachines.com/mcp and OAuth authentication. For example:

json
{  "mcpServers": {    "reason": {      "type": "http",      "url": "https://mcp.reasonmachines.com/mcp"    }  }}

For headless integrations, a scoped Reason API key can be provided by your client's secret manager as an Authorization bearer header. Never put a token in this repository, a prompt, a shared configuration file, or a URL. OAuth credentials are audience-bound: a REST login cannot be reused as an MCP login.

Try it

  • “Fix the 500 on /api/orders in acme/web and open a PR.” (or /reason-fix …)
  • “Review https://github.com/acme/web/pull/42.” (or /reason-review …)
  • “CI is red on my PR #57, make it green without skipping tests.”
  • “How does authentication work in acme/api?” (or /reason-ask …)
  • “Every weekday at 9am, triage new issues in acme/web.”
  • “Show my recent Reason sessions.” (or /reason-status)

The tools follow the active public v3 contract and your granted scopes. Start with getSelf to check the connected workspace. Path and query arguments are top-level; JSON request bodies go in body. Workspace selection is automatic and pinned to the connection.

For example, createSession accepts {"body":{"prompt":"…","repo":"acme/web"}} and returns the session url; getSession accepts {"sessionId":"…","fields":"status,outcome,result,pr_url"}.

Creating a session starts asynchronous work; inspect its status before assuming it finished. Follow pagination cursors for complete lists. Tool results preserve API status and data, including permission errors, conflicts and rate limits.

All active v3 operations are represented. Deprecated compatibility aliases and retired routes are omitted. File uploads take body.filename and body.data_base64, limited to 1 MiB; use REST for larger uploads. Downloads return an authorized download_url, never forward your Reason bearer to that URL. Large results are bounded at 2 MiB; request a smaller page or use REST.

Permissions and disconnection

Each connection is bound to the workspace chosen during consent. Tools reuse the API's scope, membership, role, private-project and IP access checks. Stored secrets remain write-only. MCP does not grant arbitrary control of your Mac or bypass a service's OAuth approval. Revoking a connection or removing its workspace membership stops access. Use your client's disconnect/logout controls and Reason's connected-app controls when the integration is no longer needed.

Publishing to Grok Bot and Cursor

Both listings are reviewed by their marketplaces, and submitting accepts the Cursor Marketplace Publisher Terms.

  1. Merge to main and confirm the checks under Validation pass.
  2. Cursor: go to cursor.com/marketplace/publish and submit https://github.com/reason-machines/reason-plugins. Cursor reads .cursor-plugin/marketplace.json and plugins/reason/.cursor-plugin/plugin.json.
  3. Grok Bot: go to x.ai/bot/marketplace/submit-a-plugin and select Grok Bot and Cursor under Where do you want to be listed?
    • Organization: Reason Machines; website https://reasonmachines.com.

    • Logotype URL: https://raw.githubusercontent.com/reason-machines/reason-plugins/main/plugins/reason/assets/reason-logo.png (512×512 PNG on an opaque white plate).

    • MCP Server URL or Public GitHub Repository: https://github.com/reason-machines/reason-plugins.

    • Brief Description: the description in plugins/reason/.cursor-plugin/plugin.json.

    • Testing Instructions:

      Install Reason and sign in when prompted (browser OAuth; a Reason account at reasonmachines.com with GitHub connected, no API key). Ask “Show my recent Reason sessions” to confirm the connection. Then run /reason-ask How is this repository structured? in <owner/repo> with any repository you connected: the agent returns a reasonmachines.com session link at once and, a few minutes later, an answer that cites files. /reason-fix <bug> in <owner/repo> opens a pull request the same way.

Support and validation

Contact Reason Machines. See SECURITY.md for vulnerability reporting.

sh
claude plugin validate --strict plugins/reasonclaude plugin validate --strict .claude-plugin/marketplace.jsoncurl -fsSO https://raw.githubusercontent.com/cursor/plugin-template/main/scripts/validate-template.mjsnode validate-template.mjs   # Cursor's template validator, run from the repository root

tests/test_cursor_plugin.py checks the Cursor package against the submission checklist: valid JSON, unique kebab-case names, relative paths that exist, a square opaque logo, an OAuth-only MCP entry with no undeclared ${VAR}, and frontmatter on every skill, command and rule.

python3 -m unittest discover -s tests installs the package with the Codex CLI and checks the manifests, the renames map for former plugin names, and server.json, the entry for the MCP Registry. Publish that entry by running the Publish to MCP Registry workflow by hand; to publish a change, raise version in server.json first.

Validate the Codex manifest with the Codex plugin validator. Test installations in an isolated client configuration directory, preserving personal installations. Production connection and directory approval are separate from manifest validation.

Source: README.md at commit a6c511e

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.0.0LatestOct 12, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts