kernelee-mcp-tools

kernelee-mcp-tools

Architecture-index MCP tools for kernelee apps that combine static analysis and runtime wiring into a JSON index, enabling coding agents to query control flow and dependencies via the Model Context Protocol.

Category
Visit Server

README

kernelee-mcp-tools

Architecture-index MCP tools for kernelee apps — a ts-morph static scan and the kernel's own runtime wiring projection, assembled into one JSON index and served to coding agents over the Model Context Protocol. The TS port of swift-kernelee's KernelIntrospect / KernelIntrospectMCP.

A kernelee app's control flow is data (symbols, pipes, buffer states), so it can be indexed and queried instead of grepped: "who drives this endpoint?", "who writes this state?", "what is one hop downstream of this symbol?".

What it does

Three cooperating pieces:

  • Foundation (kernelee-mcp-tools) — builds an IndexDocument from: the runtime wiring projection (projectWiringGraph over the app's live pipe catalog), a ts-morph static scan of the app's tsconfig program (input types, readsState / writesState, drive sites — dispatch/call/run and React useDispatch — per-stage flows, fork branch selectors, declaration/implementation addresses), and a git stamp. Written atomically to index.json.
  • MCP server (kernelee-mcp-tools/server) — runKernelIntrospectMCPServer(configuration): a stdio MCP server that re-reads index.json per query and prepends a staleness verdict (fresh / stale / unknown vs. the current working tree) to every answer.
  • CLI (kernelee-introspect) — kernelee-introspect <config-module> regenerates the index from a consumer-supplied config and prints a one-line summary. Wire it into the app's build so the index can never silently rot.

The tools

Tool Args Answers
arch_overview — The map: ring × device symbol counts, every endpoint headline, state / shared-stage / part lists. Start here.
arch_endpoint key One endpoint in full: the stage tree (kinds, flows, notes, fork branches), its binding, and who drives / diverts-to / reads / writes around it.
arch_state state One buffer state: declaration, named mutations, writers, and readers split into circuit vs. presentation.
arch_trace from, edges?, depth? A typed-edge BFS neighborhood (drivenBy, divertsTo, callsSymbol, reads, writes, usesSharedStage) around any node.
arch_refresh — Runs the consumer's refresh command, then reloads the index.

Misses come back with nearest-key suggestions rather than bare errors.

Consumer integration

The package hardcodes nothing about your app — everything arrives by injection. A consumer supplies two small pieces:

  1. An IntrospectConfig module for the CLI — repo root, tsconfig path, catalog file/function, state files, output path, and optional CI gates (failOnWiringIssues, failOnOffBufferControlValues, each with an allowlist):

    // package.json
    "scripts": {
      "introspect": "tsx node_modules/.bin/kernelee-introspect scripts/introspect.config.ts",
      "build": "npm run introspect && vite build"
    }
    
  2. A thin MCP launcher that bakes its defaults and starts the server — registered in the MCP client (e.g. Claude Code's .mcp.json) as a stdio server:

    // scripts/introspect-mcp-server.mjs
    import { runKernelIntrospectMCPServer, configurationFromEnvironmentOverridingDefaults }
      from 'kernelee-mcp-tools/server';
    
    await runKernelIntrospectMCPServer(configurationFromEnvironmentOverridingDefaults({
      indexPath: '.claude/introspect/index.json',
      repoRoot: process.cwd(),
      refreshCommand: 'npm run introspect',
      refreshTimeoutSeconds: 300,
    }));
    

    Every default can be overridden via KERNEL_INTROSPECT_INDEX_PATH, KERNEL_INTROSPECT_REPO_ROOT, KERNEL_INTROSPECT_REFRESH_COMMAND, KERNEL_INTROSPECT_REFRESH_TIMEOUT_SECONDS.

The reference consumer is kernelee-lifegame — see its scripts/introspect.config.ts, scripts/introspect-mcp-server.mjs, and docs/kernel-introspect-mcp.md (an end-user guide with example outputs and client-registration recipes).

Development

npm run build      # tsc → dist/ (the bin needs this before first use)
npm test           # vitest run — unit + MCP end-to-end integration tests
npm run typecheck  # tsc --noEmit

Dependencies: @modelcontextprotocol/sdk, ts-morph, zod; kernelee is a peer dependency. fixtures/authoringShapes/ is a minimal kernelee app the scan tests run against; docs/ holds implementation gotcha notes.

License

MIT © s-age

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured