Octopus MCP Server
This server brings Octopus AI code review into MCP clients/editors, exposing review, PR, status, and Q&A tools.
octopus_status — verify the connection and see which Octopus org your token belongs to.
octopus_review_changes — review uncommitted/working changes by passing a unified
diffor arepoPath(runsgit difffor you).octopus_review_pr — trigger a server-side review of a pull/merge request; Octopus posts findings as comments on the PR.
octopus_ask — ask Octopus about your code or past reviews, optionally scoped to a repo or continuing a conversation.
/octopus-reviewcommand — review working changes or a specific PR.Autofix skill — scan open PRs for Octopus review-bot comments, apply fixes, push, and re-trigger review.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Octopus MCP ServerReview my current uncommitted changes with Octopus."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Octopus Code Review — editor plugin
Bring Octopus AI code review into your editor. This repo is both:
an MCP server (
@octp/mcp) that exposes Octopus as tools, anda plugin for the Cursor and Claude marketplaces that wires the server in.
Tools
Tool | What it does |
| Verify the connection and show which Octopus org your token belongs to. |
| Review your working changes. Pass a |
| Trigger a full server-side review of an open pull/merge request; Octopus posts findings as comments on the PR. Pass a PR number or URL. |
| Ask Octopus about your code or a past review (answers use your indexed repos + review history). |
Related MCP server: mcp_review_code_tool
Skills & commands
/octopus-review— review your working changes, or pass a PR number/URL to review a pull request.autofix skill — say "octopus autofix" to scan your open PRs for Octopus review-bot comments, apply the fixes, push, and re-trigger review.
Get a token
The tools authenticate with an Octopus org API token (oct_...):
npx @octp/cli loginor create one in your octopus-review.ai settings. Put it in the plugin's config (never in a repo).
Install
Cursor — install "Octopus Code Review" from the marketplace, then set your OCTOPUS_TOKEN in the plugin config.
Claude — add this marketplace and install the plugin:
claude plugin marketplace add octopusreview/octopus-plugin
claude plugin install octopus-reviewthen set your token when prompted (stored as a sensitive user config value).
Any MCP client — run the server directly:
OCTOPUS_TOKEN=oct_... npx -y github:octopusreview/octopus-pluginConfig
Variable | Required | Default |
| yes | — |
| no |
|
Develop
npm install
npm run build
OCTOPUS_TOKEN=oct_... node build/index.js # a stdio MCP serverMIT licensed. Octopus itself is a separate product; this plugin only calls its public API on your behalf.
Available Tools
3 toolsoctopus_askAsk OctopusA
Ask Octopus a question about your code or a past review. Octopus answers with context from your indexed repositories and review history.
| Name | Required | Description | Default |
|---|---|---|---|
| repoId | No | Optional Octopus repository id to scope the answer to. | |
| question | Yes | The question to ask. | |
| conversationId | No | Continue a previous conversation by passing its id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It usefully states that answers come with context from indexed repositories and review history, but it does not explicitly confirm side effects, permissions, output shape, or behavior when no context is found. This is acceptable but not richly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action, and contains no filler. Every phrase adds relevant information about the tool's purpose and data sources.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple Q&A tool with three well-documented parameters and no output schema, the description covers the main use case and information source. It could mention how to use conversationId for follow-ups or what the response format looks like, but the schema already covers parameter mechanics and the tool is not complex.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already clearly documents question, repoId, and conversationId. The description adds no additional parameter-level semantics, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Ask') with a clear resource ('Octopus') and a well-defined subject ('a question about your code or a past review'). It also clarifies the answer draws on indexed repositories and review history, which differentiates it from sibling tools like octopus_status and octopus_review_changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: whenever the user wants a contextual answer about code or a past review. It does not explicitly name alternatives or exclusion criteria, but the general use case is clear enough for an agent to select it appropriately among its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
octopus_review_changesReview current changes with OctopusA
Run an Octopus code review on a unified diff (uncommitted/working changes). Pass diff directly, or pass repoPath and Octopus will run git diff for you. Returns findings and a summary.
| Name | Required | Description | Default |
|---|---|---|---|
| diff | No | A unified diff to review. If omitted, repoPath is used to run git diff. | |
| model | No | Optional Octopus model id to review with (defaults to the org's default). | |
| title | No | Optional title/context for the change set. | |
| repoPath | No | Path to a git repo. Used only when `diff` is omitted; runs `git diff HEAD` (falls back to staged). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It clearly states what the tool does (runs git diff if repoPath is given, uses HEAD with fallback to staged) and what it returns (findings and a summary). It also mentions the optional model and title, though it doesn't explicitly state any side effects or permissions. Overall, it provides good behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, and each sentence earns its place. It covers the main usage modes, input handling, and output summary without any fluff. Perfectly concise for the functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is moderately complex (4 params, no output schema, no annotations), the description is fairly complete: it explains the input options, fallback behavior, and return type. However, it doesn't mention what the findings look like or any limitations (e.g., diff size, performance). But since no annotations exist, the description does a good job covering the essential behavioral context. A small gap is lack of info on what 'summary' contains, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds meaning: it explains the relationship between diff and repoPath (mutually exclusive alternatives), mentions the fallback to staged, and clarifies the default behavior for model. Even though the schema covers all params, the description adds practical usage semantics, which is valuable. Not a 5 because the schema descriptions are already quite detailed, but the description reinforces and clarifies the key logic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs an Octopus code review on a unified diff, with specific verbs (run, review) and resource (Octopus, unified diff). It distinguishes from siblings: octopus_status is for status, octopus_ask is for asking questions, while this one reviews changes. The first sentence is specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use it: for uncommitted/working changes, and provides two usage modes: pass diff directly or pass repoPath to run git diff. It doesn't explicitly name alternatives or exclusions, but the contrast with siblings is implied by the tool name and function. The second sentence gives clear context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
octopus_statusOctopus statusA
Check the Octopus connection and show which organization the current API token belongs to. Use this to verify setup.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes a read-only check operation (connection and token org), which is non-destructive. However, it does not disclose any additional behavioral traits, such as what happens when connection fails, whether it makes network calls, or what the exact output format is. Given the simplicity, a score of 3 is reasonable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action and supplemented with a clear use case. Every word earns its place; there is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with zero parameters and no output schema, the description adequately covers the tool's function and purpose. It lacks detail on edge cases or output specifics, but given the tool's simplicity, it is complete enough. The sibling context doesn't introduce additional complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema coverage is 100% (trivially, as there are no properties). The description clarifies that the tool requires no input, which is sufficient. With zero parameters, the baseline is 4, and the description adds the context of what it checks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking the Octopus connection and revealing which organization the current API token belongs to, with the explicit use case of verifying setup. It uses a specific verb ('check') and resource ('Octopus connection'), and it distinguishes itself from siblings like octopus_review_changes and octopus_ask, which are for other actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'Use this to verify setup,' which provides clear guidance on when to use this tool. While it does not explicitly mention alternatives, the sibling tools' names suggest different functions, and the 'verify setup' context is sufficient to differentiate usage. Lacks explicit 'when not to use' exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
octopus_ask - First observed
octopus_review_changes - First observed
octopus_status
TDQS
Scored across 3 tools
Each tool handles a clearly distinct responsibility: verifying connectivity, reviewing a diff, and asking follow-up questions. There is zero overlap that could cause an agent to select the wrong tool.
All tools follow the same snake_case convention with the `octopus_` prefix, creating a predictable pattern. The verb-like suffixes (`status`, `review_changes`, `ask`) are consistent in style and clearly convey action.
At 3 tools, the server is at the minimal end of the ideal range, yet each tool genuinely earns its place and the count is well-scoped for the server's purpose. A couple of additional tools (e.g., configuration or history browsing) could make it feel more substantial.
The core workflow of connect → review → ask follow-ups is fully covered. Minor gaps include the lack of a direct way to list past reviews without using `octopus_ask` and no configuration or preference settings, but these are workable for common use cases.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI code review for GitHub PRs with an MCP autofix loop for Claude Code and Cursor
The OpenRouter MCP server plugs OpenRouter into the AI tools you already use. Once connected, your assistant can pull live OpenRouter data (models, prices, your credits, rankings, and docs) and send quick test messages, all without leaving your editor.
The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.
An MCP server that gives your AI access to the source code and docs of all public github repos
Related MCP Servers
- AlicenseBqualityCmaintenanceAI-powered code review server that analyzes git diffs and PRs with context from project guidelines and task lists. Supports integration with Claude Code and Cursor via MCP.31MIT
- FlicenseNot gradedqualityFmaintenanceMCP server for code review using OpenRouter API. Supports local code review via MCP or web interface.12-
- AlicenseNot gradedqualityCmaintenanceMCP server for reviewing code changes using LLMs, supporting Copilot, Ollama, and OpenAI-compatible endpoints.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for automated code review using AI agents. It analyzes code diffs or file paths for bugs, security issues, and style violations.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/octopusreview/octopus-plugin'
If you have feedback or need assistance with the MCP directory API, please join our Discord server