Self Inspect MCP logo

Self Inspect MCP

Deterministically returns a metathought question from an agent's input using a keyless REST, HTTP MCP, or local stdio interface.

Install Self Inspect MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "self-inspect-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "self-inspect-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 1 tools correctly (11d ago).

Overview

The self-inspect-mcp MCP server accepts an agent's thought and returns one short metathought question about its assumptions, commitments, evidence, or task. It uses a deterministic heuristic over an open CSV rather than an LLM, embeddings, or semantic search, so identical inputs produce identical results. Access it through the hosted Streamable HTTP MCP endpoint, the REST API, or the local stdio package. Reach for it at genuine reasoning checkpoints before acting, committing to a plan, or finalizing an answer—not as an automatic wrapper around every step.

Use cases

  • Check assumptions before acting on a hypothesis
  • Inspect a plan before committing to it
  • Catch drift during a long reasoning chain
  • Question confidence before finalizing an answer

Key features

  • Deterministic metathought selection
  • Single `self_inspect` MCP tool
  • Keyless Streamable HTTP endpoint
  • Local stdio and offline execution
  • Open CSV-based question routing
  • Standalone zero-dependency Python implementation

Tools1

What Self Inspect MCP lets your agent do. Expand a tool for its parameters.

Verified live~301 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

6/6 checks healthy over the last 40d

What it can do

From the 1 tool this server returned when we ran it.

Read-only tools · 1
Network at startup3 connections
Files written at startupNone
Install scriptsprepare
npm provenanceNot published
Package age130 days
Maintainers1

Observed 2026-10-16 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 4d ago via OSV.dev · self-inspect-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars7Stargazers on the source repository.
npm downloads98Package downloads in the last 30 days.
Last commit4mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed1Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Self Inspect MCP works

What self-inspect-mcp does

The self-inspect-mcp MCP server gives an agent a question it may not have generated during its own reasoning. The input is a thought or task description; the output is a short metathought that directs attention toward an assumption, commitment, missing evidence, unsupported inference, or confidence judgment. It does not provide an answer, advice, or a model-generated critique.

The MCP interface exposes one tool, self_inspect, with a required thought input. The tool returns the selected metathought text. The REST endpoint also returns a label alongside the metathought, while the MCP response is described as metathought text.

Use it as a checkpoint after forming a hypothesis, before taking an action, before committing to a plan or final response, or when the agent has reached a genuine reasoning obstacle. The project’s evaluation reports that calling it at every step can produce artificial corrections, so the documented use pattern is selective rather than scheduled.

How it works

The selector normalizes the thought by lowercasing it, applying Unicode NFKC normalization, replacing non-alphanumeric characters with spaces, collapsing whitespace, and tokenizing the result. It then scores cognitive lenses from selfinspect.csv. Lens-name tokens receive greater weight than matching content tokens gathered from that lens’s questions.

The highest-scoring lens wins. Ties use defined ordering rules, and the selected lens’s question is chosen using local content matches and operator rank. If no lens has a signal, a universal question is selected from a small default set using a stable hash of the input. The result is therefore always non-empty, and the same input produces the same metathought.

The implementation does not call an LLM, use embeddings, or perform semantic similarity matching. The self-inspect-mcp MCP server can therefore produce an auditable, model-independent record of the question returned.

Setup and configuration

The hosted Streamable HTTP MCP endpoint is available at https://api.ejentum.com/self-inspect-mcp and requires no API key. Claude Code can register it with an HTTP transport command, while Claude Desktop, Cursor, and other HTTP-MCP clients can use a server entry with the endpoint URL. Hosted access is subject to per-IP rate limits: 60 requests per minute for MCP and 120 requests per minute for REST.

For a local stdio deployment, the repository provides the mcp/ package and the npm package can be launched with npx self-inspect-mcp. Setting SELF_INSPECT_LOCAL=1 makes the selector run locally. The repository also includes a standalone Python file with the CSV embedded and no external dependencies; it can be called from the command line or imported as a Python function.

The local Python implementation is tested for byte-identical parity with the JavaScript engine. This supports using the same selector locally, through JavaScript, or through the hosted endpoint.

Tools and capabilities

  • Call self_inspect with a thought and receive one metathought.
  • Use the REST endpoint with a JSON thought field and receive a label plus metathought.
  • Run the selector through hosted HTTP MCP, local stdio, JavaScript, or the standalone Python implementation.
  • Inspect and modify the open CSV question data when changing routing coverage.
  • Distinguish routed results from universal defaults through the REST selector’s matched flag.

Limitations and notes

The self-inspect-mcp MCP server does not reason about the input with a language model and does not validate whether the returned question is relevant to the agent’s actual situation. The agent must answer the metathought and decide how to revise its reasoning.

A deterministic result is not automatically a useful intervention. The project’s evaluation describes better results when the agent responds with a concrete counterexample and rebuilds its claim, and worse results when the tool is invoked mechanically at every step. Hosted interfaces are keyless but rate-limited per IP. Local stdio use avoids the hosted network path, while the Python distribution is intended to reproduce the published selector rather than add a separate reasoning system.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Self Inspect MCP

self-inspect-mcp is an MCP server that connects AI clients to a deterministic self-inspection selector. Its main `self_inspect` tool accepts a thought and returns one short metathought question about the agent’s assumptions, commitments, evidence, or task. It uses an open CSV and heuristic matching, with no API key, LLM, embeddings, or semantic search.

You do not need to install it when using the hosted HTTP endpoint. Configure an MCP client with `https://api.ejentum.com/self-inspect-mcp`; for local stdio use `npx self-inspect-mcp`, or run the provided standalone Python file without external dependencies.

Yes, self-inspect-mcp works with Cursor through its HTTP MCP configuration. Add a server entry using `https://api.ejentum.com/self-inspect-mcp`; the hosted endpoint is keyless and exposes the `self_inspect` tool.

No, self-inspect-mcp does not require an API key. Its hosted REST and Streamable HTTP MCP endpoints are keyless, though both are protected by per-IP rate limits.

self-inspect-mcp normalizes the input, scores matching lenses and question content from its CSV, and selects a question using deterministic tie-breaking rules. If no lens matches, it chooses a stable default question, so every call still returns a metathought.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewSelf Inspect MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/self-inspect-mcp?style=directory)](https://allmcps.com/mcp/self-inspect-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/self-inspect-mcp"><img src="https://allmcps.com/api/badge/self-inspect-mcp?style=directory" alt="Self Inspect MCP on AllMCPs" /></a>