# Reported issues for mcp-observatory

Pod holds 20 of 89 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [mcp-observatory](/mcp/mcp-observatory).

## Most discussed

### Call for autonomous agent maintainers: tool reliability targets

This thread is for autonomous agent/runtime maintainers who want their agents to trust MCP tools without adding more operational burden.

MCP Observatory can help agent projects by checking the MCP tools they depend on for:

- server startup and protocol compatibility
- tool/prompt/resource schema drift
- common schema/security footguns
- simple evidence artifacts that agent maintainers can inspect or attach to CI

The ask is not “add a badge” or “use a hosted service.” The useful paths are smal

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/125) · 2026-07-01 · closed · 6 comments

### Call for MCP server maintainers: real-world compatibility targets

MCP Observatory is looking for maintainers of real MCP servers who want lightweight compatibility/security checks without adding another service account or dashboard.

The useful contribution paths are intentionally small:

- share the safest startup command for your MCP server so we can add it as a real-world test target
- add a read-only GitHub Action with `npx @kryptosai/mcp-observatory setup-ci --all --command "<your server command>"`
- contribute a fixture or report artifact that teaches us

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/124) · 2026-07-01 · closed · 4 comments

### Drop an MCP server, get a receipt

This is the public MCP Observatory receipt intake thread.

Drop one public MCP server or package in a comment and we will try to turn it into a safe, reproducible receipt.

A normal receipt answers: what happened in this run?
A delta receipt answers: what changed since the last trusted run?

A useful request includes:

- public repo, package, docs, or directory listing
- safe startup command, for example `npx -y example-mcp`
- whether secrets are required
- which agent/workflow depends on it
- w

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/146) · 2026-07-06 · closed · 3 comments

### Add receipt keygen and receipt verify commands

## What

Complete the Ed25519 receipt signing loop with two new subcommands on `mcp-observatory receipt`:

### `receipt keygen`
Generates an Ed25519 key pair and writes them to files (or prints to stdout):
```
$ mcp-observatory receipt keygen
Public key saved:  mcp-observatory.pub
Private key saved: mcp-observatory.key

Keep the private key secure. Share the public key with anyone who needs to verify your receipts.
```

### `receipt verify <file> --key <pubkey>`
Verifies a signed receipt against

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/288) · 2026-07-17 · closed · 2 comments

### Add scan result summary line showing passed/failed/warning counts

### Summary

Add a summary line at the end of every scan output showing "X servers passed, Y failed, Z warnings" for quick scanning of results.

### Files to modify

- `src/reporters/terminal.ts`

### What to change

1. After all per-server results are printed, add a divider line and a summary block.
2. Count servers by their worst result: all checks passed → "passed", any FAIL → "failed", only WARN → "warnings".
3. Print the summary like:
   ```
   ─────────────────────────────
   3 servers sca

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/256) · 2026-07-10 · closed · 2 comments

### Add colored severity badges to terminal scan output

### Summary

Add colored severity badges (PASS/FAIL/WARN) to terminal scan output, replacing or supplementing the current plain-text status indicators.

### Files to modify

- `src/reporters/terminal.ts`

### What to change

1. Import `chalk` (already a project dependency) for colored output.
2. In the terminal reporter's result rendering, wrap severity labels in colored badges:
   - PASS → green background badge: `chalk.bgGreen.black(' PASS ')`
   - FAIL → red background badge: `chalk.bgRed.whi

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/255) · 2026-07-10 · closed · 2 comments

### Add --watch flag to test command for continuous monitoring

### Summary

Add a `--watch` mode to the `test` command that re-runs scans when the target server's tool list or configuration changes.

### Files to modify

- `src/commands/test.ts`

### What to change

1. Add a `--watch` boolean flag to the test command definition.
2. When `--watch` is set, after the initial scan completes, use `chokidar` or `fs.watch` to monitor the target's config file or stdin input for changes.
3. On change, re-run the scan and display updated results.
4. Pressing `Ctrl+C`

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/254) · 2026-07-10 · closed · 2 comments

### [Target] Add Brave Search MCP to the Safety Index

### Task
Run MCP Observatory against **Brave Search MCP** (`@anthropic/mcp-server-brave-search`) and add a Safety Index target.

### Why this matters
Brave Search is one of the most-used MCP servers for web search. Agents use it to retrieve live information, making the search result boundary a critical trust surface.

### Steps
1. Run the scan: `npx @kryptosai/mcp-observatory test npx -y @anthropic/mcp-server-brave-search`
2. Generate the report: `npx @kryptosai/mcp-observatory report --run <art

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/247) · 2026-07-10 · closed · 2 comments

## Most recent

### Interoperability: CCS signed receipts as mcp-seatbelt verification backend

## Context

I noticed the recent merge of "Add canonical MCP receipts" (#154) and "receipt signer binding" in the latest commits. The Observatory's receipt model — target, evidence, verdict, action — maps closely to what CCS produces, and I want to surface a potential composition point before the receipt format hardens further.

## What CCS does

CCS (Correctover Conformance Shape) is an in-process runtime verification layer that sits between LLM decision and tool execution. Every MCP `tools/cal

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/360) · 2026-08-23 · closed · external user · 0 comments

### Slice of #164: gate-check preflight command + declarative policy (score and finding thresholds)

**Slice of #164 — close the loop on the client side.**

#164 shipped the server-side runtime pieces: `enforce` (seatbelt policy generation + proxy wiring) and `wrap`/`protect` (fail-closed handshake against a passing receipt), plus the `ObservatoryMonitor` runtime. The honest remaining gap is a **preflight `gate-check`** that clients (opencode / Claude Code / Cursor / Codex) can query before allowing a connection, driven by **declarative policy-as-code** ("require score >= 70, no HIGH findings")

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/353) · 2026-08-21 · open · 0 comments

### cloud login: speak the live /auth/device endpoints and auto-open the URL

### Context

`cloud login` today implements RFC 8628 against a generic OIDC issuer (`.well-known/openid-configuration`), but the hosted IdP (mcp-observatory-cloud) exposes custom endpoints: `POST /auth/device` mints device_code/user_code and `POST /auth/device/token` exchanges a JSON `{device_code}` for a session token. The CLI cannot discover or call these, so login is a manual copy-paste flow that doesn't actually complete against production.

### Scope

- Add `performCloudDeviceFlow()` to `sr

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/352) · 2026-08-20 · open · 0 comments

### Should lock verification canonicalize JSON Schema property order before reporting drift?

I was reviewing `verifyAgainstLock` in `src/lockfile.ts` at commit `826545468f11e5c762b246eb1d6d53a85b75af57`.

Tool schemas are compared with `JSON.stringify(locked.inputSchema) !== JSON.stringify(current.inputSchema)`. Two semantically equivalent JSON Schemas can have the same keys inserted in a different order, which appears capable of producing a “schema changed” result even though the accepted inputs are unchanged.

Is property-order-only variation intended to count as drift, or should sche

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/319) · 2026-08-03 · closed · external user · 1 comment

### Add --timeout flag to demo command

## What

`mcp-observatory demo` scans a built-in or discovered MCP server using the default 15s timeout. Some servers (especially ones that need to download packages) take longer and fail unnecessarily.

Add `--timeout <ms>` flag:
```
$ mcp-observatory demo --timeout 30000
```

## Files

- `src/commands/demo.ts` — add `.option('--timeout <ms>', 'Timeout in milliseconds', '15000')` and pass it to `runTarget()` via `targetConfig.timeoutMs`

## Acceptance

- [ ] `--timeout 30000` sets a 30s timeout

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/291) · 2026-07-17 · closed · 0 comments

### Add --browser flag to cloud login for direct OAuth redirect

## What

`mcp-observatory cloud login` uses device authorization flow (RFC 8628) which requires the user to open a URL and type a code. For desktop users, a direct browser redirect is faster.

Add `--browser` flag that:
1. Starts a local HTTP server on a random port (e.g. `http://localhost:18923/callback`)
2. Opens the browser to the OIDC authorize URL with `redirect_uri=http://localhost:18923/callback`
3. Listens for the callback, extracts the authorization code
4. Exchanges it for tokens at th

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/290) · 2026-07-17 · closed · 1 comment

### Add --ci-provider flag to setup-ci command

## What

The `setup-ci` command / `initCi()` already supports 5 CI providers internally (GitHub Actions, GitLab CI, CircleCI, Bitbucket, Azure DevOps) but there's no CLI flag to select one. Auto-detection works, but users can't override.

Add a `--ci-provider` flag:
```
$ mcp-observatory setup-ci --all --ci-provider gitlab-ci
$ mcp-observatory setup-ci --all --ci-provider circleci
$ mcp-observatory setup-ci --all --ci-provider bitbucket-pipelines
$ mcp-observatory setup-ci --all --ci-provider az

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/289) · 2026-07-17 · closed · 1 comment

### ci workflow crashing repo-wide: package-lock.json out of sync with package.json (typescript-eslint)

Noticed while working on #283 that the \`ci\` workflow is failing on every recent \`main\` run (last 5+ commits), separate from the \`coverage\` gap already filed in #282.

**Error** (lint step):
\`\`\`
TypeError: Cannot read properties of undefined (reading 'Cjs')
    at .../node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js:59:18
```

**Root cause:** \`package.json\` pins \`@typescript-eslint/eslint-plugin\`, \`@typescript-esl

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/285) · 2026-07-16 · closed · outside contributor · 1 comment

### Translate 5 CLI messages to Korean with locale detection

### Summary

Translate 5 error messages in the CLI to Korean (한국어) to improve accessibility for Korean-speaking users.

### Files to modify

- `src/commands/helpers.ts` (or wherever error message strings are defined)

### What to change

Translate these 5 messages and add them as fallback/localized strings:

| English | Korean |
|---------|--------|
| "No MCP servers found. Try running the demo first." | "MCP 서버를 찾을 수 없습니다. 먼저 데모를 실행해 보세요." |
| "Server timed out. Try increasing timeout with --ti

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/259) · 2026-07-10 · closed · 1 comment

### Add troubleshooting section to docs covering common MCP server startup failures

### Summary

Add a troubleshooting section to the docs covering the most common MCP server startup failures users encounter.

### Files to modify

- `docs/troubleshooting.md` (new file)
- `docs/README.md` or `README.md` — add a link to the new troubleshooting page

### What to change

1. Create `docs/troubleshooting.md` with the following sections:

   **Server fails to start**
   - "command not found" → ensure the package is installed or use `npx`
   - "EACCES permission denied" → check file pe

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/258) · 2026-07-10 · closed · 1 comment

### Add shell tab completion scripts for zsh and bash

### Summary

Add shell tab completion for zsh and bash so users can autocomplete commands, flags, and server names when using the CLI.

### Files to modify

- `scripts/completions/_mcp-observatory` (new zsh completion script)
- `scripts/completions/mcp-observatory.bash` (new bash completion script)
- `package.json` — add a `postinstall` script hint or note in README about sourcing completions

### What to change

1. Create a zsh completion file at `scripts/completions/_mcp-observatory` that:
   

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/257) · 2026-07-10 · open · 1 comment

### [Target] Add Sequential Thinking MCP to the Safety Index

### Task
Run MCP Observatory against **Sequential Thinking MCP** (`@anthropic/mcp-server-sequential-thinking`) and add a Safety Index target.

### Why this matters
Sequential Thinking enables agents to break down complex reasoning into ordered steps with revision. The security surface includes thought chain manipulation, potential for unbounded recursion, and the tool's ability to override or revise prior agent reasoning state.

### Steps
1. Run the scan: `npx @kryptosai/mcp-observatory test npx

[Read the thread](https://github.com/KryptosAI/mcp-observatory/issues/253) · 2026-07-10 · closed · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/KryptosAI/mcp-observatory/issues).
