# com.codmir/mcp (npm · @codmir/mcp)

AI-powered task execution, tickets, sprints, error debugging, and desktop control.

- Trust score: 63/100 (medium)
- Change this week: +23
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@codmir/mcp`: 63/100 (this document), [markdown](https://verifymcp.io/servers/com-codmir-mcp/codmir-mcp.md), [page](https://verifymcp.io/servers/com-codmir-mcp/codmir-mcp)

## Channel facts

- Registry: `npm`
- Package: `@codmir/mcp`
- Version: `0.2.3`
- Transport: `stdio`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 86/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 64 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 2150 tokens (~65/item across 33 items; 33 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add com-codmir-mcp -- npx -y @codmir/mcp
```

### Codex

```bash
codex mcp add com-codmir-mcp -- npx -y @codmir/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-codmir-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@codmir/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-codmir-mcp --command npx --arg -y --arg @codmir/mcp
```

### Hermes

```yaml
mcp_servers:
  com-codmir-mcp:
    command: "npx"
    args: ["-y", "@codmir/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "com-codmir-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@codmir/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 62, +26)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Schema quality: unverified → good
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional] Licence: Apache-2.0

### 2026-08-01 (score 36, +27)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 9, −53)

- [security regression] Known CVEs: partial → unverified
- [security regression] Malware scan: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Dependency health: partial → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-29 (score 62, +22)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional] Licence: Apache-2.0

### 2026-07-27 (score 40)

First indexed and scored.

## MCP tools (33)

### `get_sprint_tasks` (~58 tokens)

Get tasks for the current or specified sprint. Returns all tasks with their status, assignee, and ticket details.

Input parameters:

- `projectId` (string, required): The project ID
- `status` (string): Filter by status (default: all)

### `execute_task` (~77 tokens)

Execute an AI-powered code task (bug fix, feature implementation, refactor). The task will be queued and executed by a Codmir agent.

Input parameters:

- `instructions` (string, required): What the AI agent should do
- `projectId` (string, required): The project ID
- `ticketId` (string): Optional ticket ID to link this task to

### `create_ticket` (~77 tokens)

Create a new ticket in Codmir. Use this to capture bugs, features, or tasks from the conversation.

Input parameters:

- `description` (string): Detailed description
- `priority` (string): Ticket priority
- `projectId` (string, required): The project ID
- `title` (string, required): Ticket title
- `type` (string): Ticket type

### `store_conversation` (~96 tokens)

Save this conversation as project documentation. Use to preserve important context, solutions, or decisions.

Input parameters:

- `content` (string): Full content to save
- `projectId` (string, required): The project ID
- `summary` (string, required): Summary of the conversation
- `tags` (array): Tags for categorization
- `ticketId` (string): Optional ticket to link to
- `title` (string, required): Title for the saved context

### `check_task_status` (~34 tokens)

Check the status of a running task execution.

Input parameters:

- `executionId` (string, required): The execution ID returned when task was started

### `list_project_tasks` (~45 tokens)

List all tasks for a project.

Input parameters:

- `limit` (number): Max number of tasks to return (default: 20)
- `projectId` (string, required): The project ID

### `get_project_context` (~34 tokens)

Get project overview including tech stack, recent activity, and team info.

Input parameters:

- `projectId` (string, required): The project ID

### `get_sdk_reference` (~56 tokens)

Get Codmir SDK API reference for a specific topic. Use this to learn how to use the SDK for tickets, projects, organizations, chat, or agent tasks.

Input parameters:

- `topic` (string, required): Which SDK topic to get reference for

### `generate_sdk_code` (~69 tokens)

Generate SDK code for a specific use case. Returns ready-to-use TypeScript code.

Input parameters:

- `language` (string): Target language (default: typescript)
- `useCase` (string, required): What the code should do (e.g., "create a ticket for a bug", "list all projects")

### `create_organization` (~57 tokens)

Create a new organization/workspace for the user. Required before creating projects.

Input parameters:

- `description` (string): Optional description
- `name` (string, required): Organization name
- `slug` (string): URL-friendly identifier (auto-generated if omitted)

### `create_project` (~84 tokens)

Create a new project within an organization. Required before creating tickets.

Input parameters:

- `description` (string): Optional description
- `key` (string): Short project key for ticket prefixes (auto-generated if omitted)
- `name` (string, required): Project name
- `organizationId` (string): Organization ID (uses default org if omitted)
- `projectType` (string): Type of project

### `get_workspace_status` (~27 tokens)

Check if user has organization and projects set up. Call this first if other tools fail.

### `list_todo` (~125 tokens)

Get the to-do list for a project — tickets filtered as actionable items (open/in_progress), sorted by priority. Excludes tickets with auto-execution workflow enabled. Use this for an overview of what needs to be done.

Input parameters:

- `assigneeId` (string): Filter by assignee user ID
- `limit` (number): Max items to return (default: 50)
- `priority` (string): Filter by priority (default: all)
- `projectId` (string, required): The project ID
- `status` (string): Filter by status (default: all actionable)

### `update_todo_status` (~68 tokens)

Update the status of a to-do item (ticket). Use to mark items as done, in progress, or reopen them.

Input parameters:

- `projectId` (string, required): The project ID
- `status` (string, required): New status
- `ticketId` (string, required): The ticket ID to update

### `lookup_error` (~95 tokens)

Look up a production error report by any reference: refId (err_xxx), Next.js digest (3681244270), reportId (rpt_xxx), fingerprint (fp_xxx), or issueId (ISS-xxx). Returns the full stored error report with stack trace, breadcrumbs, and metadata.

Input parameters:

- `reference` (string, required): Any error reference — refId, digest, reportId, fingerprint, or issueId

### `list_recent_errors` (~86 tokens)

List recent production errors from the Overseer error store. Returns the most recent errors with their refId, message, severity, route, and timestamp. Useful for getting an overview of current production issues.

Input parameters:

- `limit` (number): Max number of errors to return (default: 20, max: 50)
- `severity` (string): Filter by severity (default: all)

### `get_error_context` (~76 tokens)

Get enriched error context for AI debugging. Returns the full error report plus suggested files to investigate (extracted from stack frames), a human-readable summary, and similar resolved issues. Ideal for understanding and fixing production errors.

Input parameters:

- `reference` (string, required): Any error reference — refId, digest, reportId, fingerprint, or issueId

### `codmir_screenshot` (~36 tokens)

Capture a screenshot of the entire screen. Returns a base64-encoded PNG image. Use this to see what is currently displayed.

### `codmir_click` (~55 tokens)

Click at screen coordinates (x, y). Use after taking a screenshot to identify the target location.

Input parameters:

- `x` (number, required): X coordinate (pixels from left)
- `y` (number, required): Y coordinate (pixels from top)

### `codmir_double_click` (~38 tokens)

Double-click at screen coordinates (x, y).

Input parameters:

- `x` (number, required): X coordinate
- `y` (number, required): Y coordinate

### `codmir_right_click` (~43 tokens)

Right-click at screen coordinates (x, y) to open context menus.

Input parameters:

- `x` (number, required): X coordinate
- `y` (number, required): Y coordinate

### `codmir_type` (~40 tokens)

Type text at the current cursor position. Use codmir_click first to focus the target input field.

Input parameters:

- `text` (string, required): The text to type

### `codmir_key` (~129 tokens)

Press a keyboard key or key combination. Use macOS key codes. Common: Return=36, Tab=48, Escape=53, Delete=51, Space=49, Up=126, Down=125, Left=123, Right=124. Flags: Shift=0x20000, Control=0x40000, Option=0x80000, Command=0x100000.

Input parameters:

- `flags` (number): Modifier flags (e.g. 0x100000 for Command). Default: 0
- `key_code` (number, required): macOS virtual key code

### `codmir_scroll` (~73 tokens)

Scroll at the given screen coordinates. Negative delta scrolls down, positive scrolls up.

Input parameters:

- `delta` (number): Scroll amount (negative = down, positive = up). Default: -3
- `x` (number, required): X coordinate to scroll at
- `y` (number, required): Y coordinate to scroll at

### `codmir_mouse_move` (~43 tokens)

Move the mouse cursor to screen coordinates (x, y) without clicking.

Input parameters:

- `x` (number, required): X coordinate
- `y` (number, required): Y coordinate

### `codmir_shell` (~57 tokens)

Run a shell command on the machine where Codmir desktop is running. Returns stdout, stderr, and exit code.

Input parameters:

- `command` (string, required): Shell command to execute
- `cwd` (string): Working directory (default: home directory)

### `codmir_screen_info` (~31 tokens)

Get screen dimensions and the name of the frontmost application. Call this first to understand the display layout.

### `codmir_status` (~31 tokens)

Check if the Codmir desktop agent is running and connected. Returns status, port, platform, and architecture.

### `codmir_fetch_page` (~83 tokens)

Fetch a web page through the desktop agent. Returns HTTP status, headers, page title, all links, and the HTML body (truncated at 50KB). Use this for web app testing, crawling routes, and analyzing page content without needing screenshots.

Input parameters:

- `url` (string, required): Full URL to fetch (e.g. http://localhost:3000/dashboard)

### `codmir_scan_routes` (~109 tokens)

Scan multiple routes on a web app and return status codes for each. Useful for finding 404s, broken pages, redirect chains, and 500 errors. Returns a summary (counts of 200/404/3xx/5xx) and per-route results.

Input parameters:

- `base_url` (string, required): Base URL (e.g. http://localhost:3000)
- `routes` (array, required): Array of route paths to check (e.g. ["/", "/dashboard", "/settings"])

### `codmir_list_directory` (~94 tokens)

List files and directories at a path on the desktop machine. Returns file names, sizes, and types. Useful for understanding project structure, finding config files, or mapping a codebase. Skips node_modules, .git, dist, etc.

Input parameters:

- `max_depth` (number): How deep to recurse (default: 1, max recommended: 3)
- `path` (string, required): Absolute directory path to list

### `codmir_connect` (~98 tokens)

Establish a real-time agent session with the Codmir desktop app. This announces the AI provider to the desktop UI, which shows a colored border glow indicating which agent is controlling the screen. Call this at the start of any desktop control session.

Input parameters:

- `provider` (string, required): AI provider name: claude, gemini, vercel, cursor, windsurf, or custom name
- `session_name` (string): Optional human-readable session label

### `codmir_disconnect` (~26 tokens)

End the agent session with the Codmir desktop app. Removes the border glow indicator.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/com-codmir-mcp/codmir-mcp#diagnostics

## Score history

- 2026-08-03: 63
- 2026-08-02: 62
- 2026-08-01: 36
- 2026-07-31: 9
- 2026-07-29: 62
- 2026-07-28: 40
- 2026-07-27: 40

## Links

- npm package: https://www.npmjs.com/package/@codmir/mcp
- Socket report: https://socket.dev/npm/package/@codmir/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-codmir-mcp/codmir-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-codmir-mcp/codmir-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-codmir-mcp/codmir-mcp
