MCP.Market

typeprobe MCP server

by clockblocker·io.github.clockblocker/typeprobe·v4.0.0·1 stars

TypeScript inferred types, completions and type errors for AI coding agents

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

1 stars334 downloads/wk

Reviews

Write one

Nobody has reviewed typeprobe yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

typeprobe tools (6)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • annotations

    Type annotations in one file that TypeScript would infer anyway (redundant) or that are wider than the inferred type (widening, often an intended contract). Use when reviewing or cleaning up types.

  • batch_hover

    Up to … hovers in one call, across files. Items: {name, line?}, {line, text, occurrence?}, or {line, column}; failures are per item.

  • completions

    The completions TypeScript offers at a cursor, including string-literal union members. Use to find valid values for an argument, key, or import before writing it. Returns the top ….

  • diagnostics

    Check one file for type errors without running tsc on the whole project. Call it on each file you edit; the edit is done when none reports an error.

  • hover

    The type at a token on a line, like an editor hover; generic calls show their instantiated types. Use when hover_by_name can't name the token: callback parameters, expressions, repeated names.

  • hover_by_name

    The type TypeScript infers for a named variable, function, parameter, property, or type. Use before writing an annotation, when unsure what a generic or call resolves to, or instead of reading .d.ts files.

Public scan report

scanner v0.1.10 · 2026-10-13 · same rubric, same numbers if you re-run it

no findings
  • Code scan23 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 2 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How typeprobe compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
92/100
higher than 95% of 48,255 servers
Tools
6
the typical server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
1
more than 65% of 28,688 servers
Downloads a week
334
more than 82% of 12,191 servers with a package

What its tools let an agent do: 6 read

Install typeprobe in Claude Code, Cursor or VS Code

Runs npx -y typeprobe on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add typeprobe -- npx -y typeprobe
Add to Cursor

What the publisher says

From the typeprobe repository's README, as published. We do not edit it. Read it on GitHub

typeprobe

typeprobe asks the TypeScript compiler what it infers (types, completions, type errors) so that AI coding agents and tests don't have to guess. It comes as:

  • an MCP server for coding agents (Claude Code, Codex, Cursor, VS Code, Gemini CLI, any stdio client),
  • typeprobe/testing, which returns inferred types as strings for snapshot tests,
  • a CLI and a synchronous library API.

typeprobe was called prinfer until 4.0.0. See Migrating from prinfer.

Quick start

Give your agent the compiler:

npx -y typeprobe setup claude    # or codex, cursor, vscode, gemini; see Install

The agent can now call hoverbyname(file: "src/utils.ts", name: "names") and get Type: string[] back, or diagnostics(file) after an edit.

Lock the types your API infers in a test (Vitest, Jest, Bun, or any runner with snapshots):

import { expect, test } from "vitest"; // or "bun:test"
import { inferredType } from "typeprobe/testing";
import { groupBy, type User } from "../src/users";

const users: User[] = [{ name: "Ada", role: "admin" }];
const byRole = groupBy(users, (user) => user.role);

test("groupBy keys the result by the callback's return type", () => {
  expect(inferredType(import.meta.url, { name: "byRole" }))
    .toMatchInlineSnapshot(`"Record<Role, User[]>"`);
});

Write the matcher empty (toMatchInlineSnapshot()) and the runner fills it in. A refactor that changes the type fails the test.

Install

Every command runs through npx, so nothing needs installing first. After npm i -g typeprobe, drop the npx -y prefix: setup then registers the typeprobe-mcp binary, which skips npx's package check on each launch.

Claude Code. The plugin bundles the MCP server and a skill that tells Claude when to use it:

/plugin marketplace add clockblocker/typeprobe
/plugin install typeprobe@typeprobe

Other clients, or Claude Code without the plugin:

Any other MCP client: typeprobe is a stdio server started with npx -y typeprobe mcp.

{
  "mcpServers": {
    "typeprobe": { "command": "npx", "args": ["-y", "typeprobe", "mcp"] }
  }
}

It is also listed in the MCP Registry as io.github.clockblocker/typeprobe and on Smithery.

Setup options:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

typeprobe: common questions

Is typeprobe MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the typeprobe safety report
How do I install typeprobe?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does typeprobe need an API key?
No secret keys are declared. It reads 2 settings from the environment.
Is typeprobe maintained?
The last commit was 25 days ago (2026-10-10). The latest release is v4.0.0.
How does typeprobe compare with other MCP servers?
safety score 92/100 (higher than 95% of 48,255 servers); tools 6 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.