npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@cleocode/mcp-adapter

v2026.5.4

Published

External-only MCP adapter stub exposing CLEO sentient operations as MCP tools. Does NOT wire into internal CLEO dispatch — external tools only.

Readme

@cleocode/mcp-adapter

External-only MCP (Model Context Protocol) adapter that exposes CLEO sentient operations as MCP tools for consumption by external LLM clients and tools.

Canon (DO NOT violate): CLEO is CLI-only internally. This adapter is EXTERNAL-ONLY — an export bridge that lets other tools (Claude Desktop, external MCP clients) consume a narrow slice of CLEO via MCP. It communicates with CLEO exclusively via cleo CLI subprocess calls. It does NOT import internal CLEO packages and is NOT part of CLEO's dispatch surface.

Do NOT add MCP to internal CLEO dispatch. Do NOT import from @cleocode/core or any internal dispatch layer here. Do NOT add new tools by reaching into internal APIs — new tools MUST be exposed as cleo CLI verbs first, then mapped here as subprocess calls. MCP was removed from internal CLEO on 2026-04-04; this adapter exists as a deliberate external-consumption exception, not as a reintroduction.

What it exposes

Three MCP tools:

| Tool | CLI equivalent | Description | |------|----------------|-------------| | cleo_sentient_status | cleo sentient status | Query sentient subsystem state, kill-switch, Tier-2 flag | | cleo_sentient_propose_list | cleo sentient propose list | List Tier-2 autonomous proposals | | cleo_sentient_propose_enable | cleo sentient propose enable | Enable Tier-2 (subject to M7 gate) |

How external tools consume it

1. Via MCP stdio transport (recommended)

Add to your MCP client configuration (e.g. Claude Code .mcp.json):

{
  "mcpServers": {
    "cleo-sentient": {
      "command": "npx",
      "args": ["-y", "@cleocode/mcp-adapter"],
      "env": {}
    }
  }
}

Or if installed globally:

{
  "mcpServers": {
    "cleo-sentient": {
      "command": "cleo-mcp-server",
      "args": []
    }
  }
}

The server reads JSON-RPC 2.0 requests from stdin and writes responses to stdout.

2. Via programmatic API

import { handleToolCall } from '@cleocode/mcp-adapter';

// Query status
const result = await handleToolCall(
  'cleo_sentient_status',
  { projectRoot: '/path/to/my/project' }
);
console.log(result.content[0].text);

// Enable proposals (requires M7 gate to pass on CLEO side)
const enableResult = await handleToolCall(
  'cleo_sentient_propose_enable',
  { projectRoot: '/path/to/my/project' }
);
if (enableResult.isError) {
  console.error('M7 gate blocked:', enableResult.content[0].text);
}

M7 Gate

cleo_sentient_propose_enable is subject to the M7 gate on the CLEO side: cleo memory doctor --assert-clean must pass (brain corpus must be clean) before Tier-2 proposals can be activated. The adapter surfaces the E_M7_GATE_FAILED error as isError: true in the MCP result so clients receive a clear actionable signal.

To resolve: run cleo memory sweep --approve <runId> on the CLEO project to stamp entries clean, then retry the enable call.

Architecture

External MCP client (Claude Code / LLM tool)
        │
        │ JSON-RPC 2.0 over stdio
        ▼
@cleocode/mcp-adapter (this package)
        │
        │ execFile('cleo', [...args])
        ▼
CLEO CLI (`cleo` binary on $PATH)
        │
        │ internal dispatch + sentient domain
        ▼
sentient-state.json + tasks.db

No internal CLEO packages are imported. All interaction is via subprocess.