プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

LayerMap

作者:coffeecoprojectバージョン 0.1.35i★ –iパソコンで動く
レジストリ名io.github.coffeecoproject/layermap

インストール

概要

作者による説明(英語の原文)

Call graph for coding agents: callers up to HTTP routes, callees, usages for TS/JS, Go, Python, Java

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

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

ターミナルでこれを実行します

claude mcp add layermap -- npx -y layermap mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

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

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "layermap": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "layermap",
        "mcp"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント coffeecoproject で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32403件のうち0%よりスターが多い
  • このカテゴリのほかの32403件のうち96%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32403件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

LayerMapは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.35)がレジストリに届いたのは昨日です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, LickityClick

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211昨日更新
インストール

LickityClick

作者:lickity.click

Create, edit and track LickityClick short links, campaigns and click stats from your AI assistant.

パソコンでもクラウドでも今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

LayerMap

English · 中文

LayerMap tells your coding agent what calls a function and what changing it affects, up to the HTTP routes, in one call. With at most 15 requests, Claude Code on Opus 5.5 found 99.9% of affected endpoints with LayerMap vs 76.0% without; with no limit, it found about the same and cost 48% less, or 27% less without the task that gained most (benchmark).

Resolved by each language's compiler or type checker, not guessed from names by tree-sitter: calls through interfaces, base classes, templates and decorators link as the compiler links them, for TypeScript, JavaScript, Go, Python and Java.

A real Claude Code session on Miniflux , replayed: one map call finds every endpoint, then the agent confirms them in source.

A layered map of your codebase for coding agents. LayerMap gives Claude Code, Codex, CodeBuddy Code, Pi, DeepSeek Harness and other MCP clients read-only tools that answer, in one call, what an agent otherwise works out with dozens of searches:

  • What calls this, and what does changing it affect? Callers traced up to 8 levels, to the HTTP routes, handlers, jobs and commands they start from.
  • What does it call? Callees down to 8 levels.
  • What is here? Modules, each file's declarations, and every usage of a symbol.
  • What did my edit affect? The routes, jobs and commands the uncommitted changes reach, and the existing tests related to them.

It maps TypeScript, JavaScript, Go, Python and Java with each language's own compiler, so calls through interfaces, base classes, templates and decorators resolve as the compiler resolves them, including the ones text search misses. In WeChat mini-programs, it also links each page's and component's template (.wxml) to the methods it binds and the components it shows, and each event a component emits to the handlers the pages bind to it, so callers reach the pages.

Example

In Miniflux, one call on Storage.MarkFeedAsRead finds all four ways a request reaches it, each with its route:

DECLARATION internal/storage/entry.go: Storage.MarkFeedAsRead m656-680 exported

← called by internal/api/feed.go: handler.markFeedAsRead m140-155 @149 ← called by internal/fever/handler.go: handler.handleWriteFeeds m492-519 @508 ← called by internal/googlereader/handler.go: handler.markAllAsReadHandler m1261-1338 @1311 ← called by internal/ui/feed_mark_as_read.go: handler.markFeedAsRead m14-30 @24 [1] internal/api/feed.go: handler.markFeedAsRead m140-155 ← used as value by internal/api/api.go: Serve f25-84 @61 "PUT /v1/feeds/{feedID}/mark-all-as-read" [1] internal/googlereader/handler.go: handler.markAllAsReadHandler m1261-1338 ← used as value by internal/googlereader/handler.go: Serve f44-64 @62 "POST /reader/api/0/mark-all-as-read" [1] internal/ui/feed_mark_as_read.go: handler.markFeedAsRead m14-30 ← used as value by internal/ui/ui.go: Serve f18-180 @77 "POST /feed/{feedID}/mark-all-as-read" … (the Fever API, then on down to main.go: main)

m and f mark methods and functions with their lines; @ is the line of the call, and the quoted route is what it is registered under: the HTTP method and the full path, with the /v1 prefix its subrouter adds. In Java, Python and TypeScript the route shows on the handler itself, as in @GetMapping("/{id}") route "GET /api/tasks/{id}".

Results

Impact questions ("which HTTP endpoints does changing this affect?") on public Go, Python and Java projects, graded blind against truth sets cross-checked with each language's own toolchain:

With LayerMapWithout
Endpoints found, at most 15 requests (Claude Code on Opus 5.5, 6 tasks × 3 runs)99.9%76.0%
Cost / time at that limit (Opus 5.5)+12% / +4%
Endpoints found, no request limit (Opus 5.5, 6 tasks × 2 runs)100%99.7%
Cost / time, no request limit (Opus 5.5, maps built ahead)−48% / −33%; −27% / −21% without the task that gained most
Ripple tasks: runs leaving other features' tests passing (Opus 5.5, 4 tasks × 3 runs)12 of 1212 of 12
Endpoints found, at most 15 requests (gpt-5.5, 6 tasks × 3 runs)97.9%58.8%
Used unprompted by Claude Code / Codex (plugin installed, two rounds)12 of 12 / 12 of 12—
Endpoints found, no request limit (Claude Code / Codex, 0.1.5)100% / 100%99.0% / 100%
Claude Code cost, no request limit (0.1.5 re-run; first round −32%)−33%
Codex input tokens, no request limit (current defaults)+14%
Time, no request limit (Claude Code on claude-opus-5 / Codex, 0.1.5)+25% / +20%
Failing tests the change check lists (Go / Python, functions made to fail)100% / 94–98%—
Ripple tasks: runs leaving other features' tests passing (Codex / Claude Code, 4 tasks × 6 runs with, × 3 without)23 of 24 / 11 of 243 of 12 / 4 of 12
Everyday tasks, no impact analysis needed: done right / time (Claude Code and Codex, 8 tasks × 2 runs)32 of 32 / +12–31%32 of 32

With a tight budget, the map finds far more of the affected code, at 12–24% more cost or tokens. With no limit, both agents find nearly everything either way. Claude Code costs a third to a half less with the map. On Opus 5.5 it was also a third faster, though one task accounts for much of that gap and the maps were built ahead; on claude-opus-5 it was a quarter slower. Codex's current defaults already search lean, so the map no longer saves it tokens; at reasoning effort max, in the first round, it saved 55%. Codex with the map explores more widely, which takes longer. On requests whose obvious change breaks another feature, the change check helped Codex keep to the requested feature. Claude Code saw which tests of other features it had changed but often kept the broader change on purpose, so it showed no clear difference; on Opus 5.5 it broke nothing with or without the map, and the check cost 17% more. On small local tasks the map changed nothing but cost about a fifth more time and money. These are small samples on tasks written by LayerMap's authors. The report has the setup, the published tasks and the limitations.

How LayerMap differs

Other tools give agents part of this. LayerMap combines compiler accuracy with whole-chain traces in one local map:

Tree-sitter code graphs (codegraph, GitNexus, …)Language servers and IDEs (Claude Code's LSP tool, Serena, JetBrains)Embedding search (Claude Context, Augment)LayerMap
How calls are linkedMatched by names, imports and framework rules, often with confidence scoresThe compiler's own resolutionNot linked; similar code is retrievedResolved by each language's compiler or type checker
Callers traced to routes and handlersIn several tools, at varying depthOne level per request (JetBrains: 5 by default)—Up to 8 levels in one call
Kept as a mapYes, with file watchingNo, answered live by a running serverAn index of code chunksYes, brought up to date on every call
Runs on your machineYes; some send anonymous telemetryYesUsually with cloud embeddingsYes, and sends nothing

Another tool fits better if you need:

  • more languages, since tree-sitter graphs cover 30 or more;
  • renaming and refactoring, from language servers;
  • search by meaning, from embedding search;
  • search across many repositories, with Sourcegraph.

Install

Claude Code

/plugin marketplace add coffeecoproject/layermap

/plugin install layermap@layermap

Codex

codex plugin marketplace add coffeecoproject/layermap

codex plugin add layermap@layermap

CodeBuddy Code

codebuddy plugin marketplace add coffeecoproject/layermap

codebuddy plugin install layermap@layermap

Pi

pi install npm:layermap

DeepSeek Harness

npx layermap setup dsh

This adds LayerMap to every dsh profile. Each session maps the project dsh was started in, and npx layermap remove dsh undoes it.

In every agent, start a new session in a Git repository and ask as usual. LayerMap tells the agent when the map helps. A session started in a folder holding several repositories, or one that moves to another repository, works too: each map tool call maps the repository its path names. The first time a session starts a version of LayerMap, npm installs that pinned layermap package into LayerMap's cache; later sessions start it from there, even offline.

Claude Code asks once before each map tool runs in a project. Choose "don't ask again", or run npx layermap allow claude to allow the plugin's read-only tools everywhere.

After an edit. When the agent changes code, project_check_changes lists what the change affects: the routes, jobs and commands that reach the changed functions, what the map cannot see, and the existing tests related to the change. When the changed code serves several areas (packages or modules), it names each one with its tests, and it names the existing tests the diff rewrote, so a change meant for one feature does not quietly change the others. Environment variables and configuration keys are linked by name only, which no compiler sees, so when the diff removes one from a file, the check names the files that still read or set the old name. In the same way, when the change reaches a route's handler or renames a route, it names the code and templates that request that path: a frontend's fetch, a generated API client, a redirect or a link. When the change adds an import between two modules of the project overview, it names it, and says when the two now depend on each other; whether that direction suits the project's layers is for the agent to judge. When a declaration the change adds reads almost the same as code the project already has, it names both, so the agent can use the existing code instead of a copy. When the change takes away the last call to a declaration, as when new code replaces old, it names that declaration, so the agent can delete what the change left behind. The map does not link a field or type to the code reading it, so for one the change touches, the check searches for its references and follows that code up to the entry points and tests, as possibly affected. It never writes or runs tests. In Claude Code and CodeBuddy Code the plugin asks the agent once, before it finishes, to run this check for each repository it edited code in and has not checked since, whether through its edit tools or shell commands, which count for the code files they name (changes another session makes in the same work tree do not count); the Pi extension does the same after the agent's own edits. Set LAYERMAP_STOP_CHECK=0 to turn that off. Codex and Deep

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く