Skip to main content
The TypeScript SDK wraps an MCP server built on @modelcontextprotocol/sdk. It injects the mcpeyeIntent parameter into every tool, captures each call, and ships batches to your ingest API in the background.

Install

npm install mcpeye

Minimal usage

import { track } from "mcpeye";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";

// Your existing MCP server, with tools already registered.
const server = new McpServer({ name: "my-server", version: "1.0.0" });

// `track()` is the entire public API — call it after registering your tools.
track(server, "your-project-id", {
  ingestUrl: process.env.MCPEYE_INGEST_URL ?? "http://localhost:3001",
  ingestSecret: process.env.MCPEYE_INGEST_SECRET,
});
track() injects mcpeyeIntent into every tool’s schema and captures each call. Pass a high-level McpServer or a low-level Server — it unwraps automatically.

Configuration

OptionEnv varDescription
projectIdYour project id (2nd arg to track), from “Create project”.
ingestUrlMCPEYE_INGEST_URLIngest API base URL. Defaults to http://localhost:3001.
ingestSecretMCPEYE_INGEST_SECRETThe per-project ingest secret from “Create project” / POST /projects.
Tool arguments and results are redacted for obvious secrets before they leave your process, and the only network destination is the ingest URL you control.

What happens after capture

Ingest, sessionize, summarize, and the Intent Gap Report.