Optibot
NPM · @OPTIMALAI/OPTIBOT-MCP · SCANNED SEP 20
AI code review for your AI assistant — review local changes, branch diffs, and patch files.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 36 of 115 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency23
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 2 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability81
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 1317 tokens (~59/item across 22 items; 22 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
- Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "logout" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Optibot MCP server?
Optibot runs locally as an npm package, launched with npx -y @optimalai/optibot-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @optimalai/optibot-mcp
claude mcp add ai-getoptimal-optibot -- npx -y @optimalai/optibot-mcp
{
"mcpServers": {
"ai-getoptimal-optibot": {
"command": "npx",
"args": [
"-y",
"@optimalai/optibot-mcp"
]
}
}
} {
"servers": {
"ai-getoptimal-optibot": {
"command": "npx",
"args": [
"-y",
"@optimalai/optibot-mcp"
]
}
}
} codex mcp add ai-getoptimal-optibot -- npx -y @optimalai/optibot-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-getoptimal-optibot": {
"type": "local",
"command": [
"npx",
"-y",
"@optimalai/optibot-mcp"
],
"enabled": true
}
}
} openclaw mcp add ai-getoptimal-optibot --command npx --arg -y --arg @optimalai/optibot-mcp
mcp_servers:
ai-getoptimal-optibot:
command: "npx"
args: ["-y", "@optimalai/optibot-mcp"] {
"McpServers": {
"ai-getoptimal-optibot": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@optimalai/optibot-mcp"
]
}
}
} assistant mcp add ai-getoptimal-optibot -t stdio -c npx -a -y @optimalai/optibot-mcp
{
"mcpServers": {
"ai-getoptimal-optibot": {
"command": "npx",
"args": [
"-y",
"@optimalai/optibot-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 −3
- Stability: pass → 0.77 functional
- 15 Sept 26 0
- Stability: 0.97 → pass security
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Sept 26 −3
- Stability: pass → 0.80 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/@optimalai/optibot-mcp@1.4.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 115 packages
| Packages resolved | 115 |
|---|---|
| Stale | 36 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_auth ~36
Check current Optibot authentication status. Shows whether credentials are configured via environment variable or config file, and the active organization (if any).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
create_api_key ~61
Create a new Optibot API key for CI/CD or automation. The key is only shown once — copy it immediately.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Name for the API key (e.g., "ci-github-actions", "jenkins-pipeline") |
No output schema declared.
No examples provided.
delete_api_key ~42
Delete an Optibot API key by ID. Use list_api_keys to find the ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | ID of the API key to delete |
No output schema declared.
No examples provided.
get_current_organization ~36
Show the currently active Optibot organization and your role in it. Read from the JWT organizationId claim (the authoritative source).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_security_config ~30
Show the scheduled-scan configuration (schedule, enabled repos, budget, tier) for the active organization.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_security_pricing ~21
Show per-tier pricing and markup multiplier for security scans.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_security_scan ~60
Fetch the full markdown report and metadata for a specific security scan by id. The backend has no by-id endpoint, so this pages through recent scans up to a reasonable cap.
| Name | Type | Req | Description |
|---|---|---|---|
| scanId | integer | yes | Scan id (from list_security_scans). |
No output schema declared.
No examples provided.
get_security_usage ~24
Show current-month token usage and cost for security scans on the active organization.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_status ~36
Show full Optibot status: authentication method, active organization, and review quota. Mirrors `optibot status` from the CLI.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_api_keys ~21
List all Optibot API keys associated with your account.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_organizations ~36
List all Optibot organizations you belong to. The currently active organization is marked with "*". Use switch_organization to change it.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_scannable_repos ~33
List repositories available to scan in the active organization. Use these ids/names when calling trigger_security_scan.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_security_scans ~86
List recent security scans for the active organization. Optionally filter by repository. Paginated.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Filter by repository name or fullName. |
| page | integer | – | Page number (default 1). |
| pageSize | integer | – | Results per page (default 5, max 50). |
| repositoryId | integer | – | Filter by repository id. |
No output schema declared.
No examples provided.
login ~59
Authenticate with Optibot via browser OAuth. Opens a browser window for login and saves credentials locally. Token expires after 90 days. If your account needs onboarding, returns a URL to complete setup before you can authenticate. Refuses to run inside CI environments.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
logout ~17
Remove saved Optibot credentials from this machine.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
review_branch ~75
Review changes against a target branch. Compares the current branch against the specified branch (or auto-detects origin/main, origin/master, origin/develop). Includes merge conflict detection.
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string | – | Target branch to compare against. If omitted, auto-detects origin/main, origin/master, or origin/develop. |
No output schema declared.
No examples provided.
review_diff_file ~46
Review an arbitrary diff/patch file. Sends the contents of a diff file for AI code review.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the diff or patch file to review |
No output schema declared.
No examples provided.
review_local_changes ~37
Review uncommitted local changes (git diff HEAD). Runs an AI code review on all staged and unstaged changes in the current repository.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
setup_ci ~90
Set up Optibot for CI/CD: mints a long-lived API key bound to the currently active organization and returns the export line ready to paste into the user's CI secret store. Use this for any "set up Optibot in CI" / GitHub Actions / GitLab CI / agentic-coder question.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Name for the API key. Default: "ci". |
No output schema declared.
No examples provided.
switch_organization ~114
Switch the active Optibot organization. Rescopes your token so subsequent tool calls act as that organization. Accept either organizationId or name — if multiple orgs share a name, provide organizationId instead. Token is replaced in ~/.optibot/config.json.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Organization name (or displayName) to switch to. Used only when organizationId is not provided. Must match exactly one organization. |
| organizationId | integer | – | Organization id to switch to. Provide either organizationId or name. |
No output schema declared.
No examples provided.
trigger_security_scan ~201
Trigger an AI security scan on a repository in the active organization. Blocks until the scan completes (or the timeout is reached, in which case it returns a "still_running" handoff). Streams live progress events. Accepts either repositoryId or name.
| Name | Type | Req | Description |
|---|---|---|---|
| maxBudgetUSD | number | – | Max budget per scan in USD (0.50–500). |
| modelTier | string | – | Model tier: low (cheapest), medium, high (most thorough). Server default if omitted. |
| name | string | – | Repository name or fullName to scan. Used only when repositoryId is not provided. |
| postAsIssue | boolean | – | If true, open the scan report as a GitHub/GitLab issue on completion. |
| repositoryId | integer | – | Repository id to scan. Provide either repositoryId or name. |
| timeoutSeconds | integer | – | How long to wait for completion before returning a still_running handoff. Default 300. |
No output schema declared.
No examples provided.
update_security_config ~156
Update the scheduled-scan configuration for the active organization. Only specified fields are changed; unspecified fields keep their current value. When schedule is "custom", customCron is required.
| Name | Type | Req | Description |
|---|---|---|---|
| customCron | string | – | Cron expression (required when schedule=custom). |
| enabled | boolean | – | Enable or disable scheduled scans. |
| maxBudgetUSD | number | – | Max budget per scheduled scan. |
| modelTier | string | – | Model tier for scheduled scans. |
| postAsIssue | boolean | – | Whether to open scan reports as repository issues. |
| repositoryIds | array | – | List of repository ids to include in scheduled scans. Replaces the existing list. |
| schedule | string | – | Scan frequency. If "custom", provide customCron. |
No output schema declared.
No examples provided.
What is the Optibot MCP server?
Optibot is an MCP server listed in the public MCP registry as ai.getoptimal/optibot. AI code review for your AI assistant, review local changes, branch diffs, and patch files. This page covers its npm package (@optimalai/optibot-mcp).
Is the Optibot MCP server safe to use?
Optibot scores 78 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Optibot MCP server expose?
Optibot exposes 22 tools: review_local_changes, review_branch, review_diff_file, login, logout, and 17 more. Their descriptions and schemas cost roughly 1,317 tokens of context every time the server is loaded.
Is the Optibot MCP server still maintained?
Optibot is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Optibot MCP server under?
Optibot declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.