@neurynae/toolcairn-mcp 0.10.21 → 0.10.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +185 -85
- package/dist/index.js +115 -118
- package/package.json +7 -2
package/README.md
CHANGED
|
@@ -1,20 +1,47 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://toolcairn.neurynae.com">
|
|
3
|
+
<img src="https://raw.githubusercontent.com/neurynae/toolcairn-mcp/main/assets/hero.png" alt="ToolCairn — Tool intelligence for AI coding agents" width="100%">
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
2
6
|
|
|
3
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/@neurynae/toolcairn-mcp"><img src="https://img.shields.io/npm/v/@neurynae/toolcairn-mcp" alt="npm version"></a>
|
|
9
|
+
<a href="https://www.npmjs.com/package/@neurynae/toolcairn-mcp"><img src="https://img.shields.io/npm/dm/@neurynae/toolcairn-mcp" alt="npm downloads"></a>
|
|
10
|
+
<a href="https://github.com/neurynae/toolcairn-mcp/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
|
|
11
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D22-brightgreen" alt="Node.js"></a>
|
|
12
|
+
</p>
|
|
4
13
|
|
|
5
|
-
|
|
6
|
-
[](https://github.com/NEURYNAE/ToolCairn/blob/main/LICENSE)
|
|
7
|
-
[](https://www.npmjs.com/package/@neurynae/toolcairn-mcp)
|
|
14
|
+
# `@neurynae/toolcairn-mcp`
|
|
8
15
|
|
|
9
|
-
ToolCairn is an MCP server that
|
|
16
|
+
ToolCairn is an MCP server that connects your AI coding agent to a continuously-updated graph of **30,000+ open-source tools** across npm, PyPI, Cargo, Maven, Go, Composer, RubyGems, NuGet, Homebrew, and **35+ more registries**. Search, compare, build stacks, and check version compatibility — all from inside Claude Code, Cursor, or any MCP-compatible client.
|
|
17
|
+
|
|
18
|
+
> **Concrete example.** Your agent receives *"I need a fast HTTP client for Node"* → it calls `search_tools` → ToolCairn returns ranked candidates with maintenance and community signals, alternatives, and a warning if the top pick has questionable activity. No more guessing from blog posts and stale tutorials.
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
<img src="https://raw.githubusercontent.com/neurynae/toolcairn-mcp/main/assets/architecture.png" alt="How it connects: Your AI Agent ↔ toolcairn-mcp ↔ ToolCairn Cloud" width="100%">
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
The MCP server runs locally as a stdio child of your agent. Tool calls travel over MCP to this package, which proxies the network-bound ones to the ToolCairn Cloud API and handles the local-only ones (project scan, config, audit log) on disk.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Why ToolCairn?
|
|
29
|
+
|
|
30
|
+
Plain web search and LLM training data are insufficient for tool selection — knowledge cutoffs miss latest releases, search engines surface tutorials over authoritative ranking, and version-compatibility answers live in scattered issue threads.
|
|
31
|
+
|
|
32
|
+
ToolCairn fixes this with three things you can't get from raw registry APIs:
|
|
33
|
+
|
|
34
|
+
- **Graph-aware ranking** — recommendations consider how tools relate to each other (dependencies, integrations, replacements, conflicts), not just popularity.
|
|
35
|
+
- **Version-aware compatibility** — declared peer ranges and cross-registry version metadata give you *"Next.js 14 needs React 18.x"* instead of *"they're both popular, probably fine?"*
|
|
36
|
+
- **A continuous learning loop** — every accepted, rejected, or replaced recommendation feeds back into the graph, so quality improves with use.
|
|
10
37
|
|
|
11
38
|
---
|
|
12
39
|
|
|
13
40
|
## Quick Start
|
|
14
41
|
|
|
15
|
-
**Step 1
|
|
42
|
+
**Step 1.** Create a free account at **[toolcairn.neurynae.com/signup](https://toolcairn.neurynae.com/signup)**.
|
|
16
43
|
|
|
17
|
-
**Step 2
|
|
44
|
+
**Step 2.** Add to your MCP config and restart your agent:
|
|
18
45
|
|
|
19
46
|
```json
|
|
20
47
|
{
|
|
@@ -27,125 +54,198 @@ ToolCairn is an MCP server that helps AI agents and developers discover, compare
|
|
|
27
54
|
}
|
|
28
55
|
```
|
|
29
56
|
|
|
30
|
-
|
|
57
|
+
**Step 3.** A browser window opens for sign-in on first start. Once you confirm, all tools are available immediately — no further setup.
|
|
58
|
+
|
|
59
|
+
Requires **Node.js 22+**.
|
|
31
60
|
|
|
32
61
|
---
|
|
33
62
|
|
|
34
|
-
## Setup
|
|
63
|
+
## Setup — Claude Code
|
|
35
64
|
|
|
36
|
-
|
|
65
|
+
The fastest path:
|
|
37
66
|
|
|
38
67
|
```bash
|
|
39
68
|
claude mcp add toolcairn -- npx @neurynae/toolcairn-mcp
|
|
40
69
|
```
|
|
41
70
|
|
|
42
|
-
Or
|
|
71
|
+
Or paste the JSON block above into `~/.claude/claude_desktop_config.json` under `mcpServers`.
|
|
43
72
|
|
|
44
|
-
|
|
45
|
-
{
|
|
46
|
-
"mcpServers": {
|
|
47
|
-
"toolcairn": {
|
|
48
|
-
"command": "npx",
|
|
49
|
-
"args": ["@neurynae/toolcairn-mcp"]
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
```
|
|
73
|
+
> Other MCP-compatible clients (Cursor, Claude Desktop, VS Code Copilot, Windsurf, Zed, …) work with the same `npx @neurynae/toolcairn-mcp` command — see the [docs](https://toolcairn.neurynae.com/docs) for client-specific config locations.
|
|
54
74
|
|
|
55
|
-
|
|
75
|
+
---
|
|
56
76
|
|
|
57
|
-
|
|
77
|
+
## What you can do
|
|
58
78
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"mcpServers": {
|
|
62
|
-
"toolcairn": {
|
|
63
|
-
"command": "npx",
|
|
64
|
-
"args": ["@neurynae/toolcairn-mcp"]
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
```
|
|
79
|
+
### Find a tool
|
|
80
|
+
Your agent receives *"I need a real-time analytics database for event tracking"* → calls `search_tools` → gets ranked candidates (ClickHouse, TimescaleDB, InfluxDB, …) with maintenance signals. If the intent is ambiguous, the response carries clarification questions; the agent answers via `search_tools_respond` and gets refined results.
|
|
69
81
|
|
|
70
|
-
###
|
|
82
|
+
### Build a stack
|
|
83
|
+
Your agent receives *"Help me architect a full-stack TypeScript SaaS"* → calls `refine_requirement` to decompose, then `get_stack` with the per-layer needs → gets a 3–5 tool stack (web framework + database + auth + payments) with a **version-compatibility matrix** showing which versions work together across the stack.
|
|
71
84
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"github.copilot.chat.mcp.servers": {
|
|
75
|
-
"toolcairn": {
|
|
76
|
-
"command": "npx",
|
|
77
|
-
"args": ["@neurynae/toolcairn-mcp"],
|
|
78
|
-
"type": "stdio"
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
```
|
|
85
|
+
### Compare options
|
|
86
|
+
*"Express vs Fastify for a REST API?"* → `compare_tools` returns side-by-side health (stars, maintenance score, last commit, open issues, contributor trends), graph relationships (what each integrates with, what they replace), and a recommendation grounded in your stated use case.
|
|
83
87
|
|
|
84
|
-
###
|
|
88
|
+
### Check version compatibility
|
|
89
|
+
*"I want to upgrade Next.js to 14 but keep React 17."* → `check_compatibility` evaluates declared peer ranges and returns satisfied/unsatisfied checks with the source (`declared_dependency` / `graph_edges` / `shared_neighbors`).
|
|
85
90
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
"mcpServers": {
|
|
89
|
-
"toolcairn": {
|
|
90
|
-
"command": "npx",
|
|
91
|
-
"args": ["@neurynae/toolcairn-mcp"]
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
91
|
+
### Track project tools
|
|
92
|
+
On first session, `toolcairn_init` walks your repo, parses every manifest (`package.json`, `requirements.txt`, `pyproject.toml`, `Cargo.toml`, `go.mod`, `pom.xml`, `Gemfile`, `composer.json`, …), classifies each tool against the ToolCairn graph, and writes a local `.toolcairn/` snapshot. Subsequent sessions read this snapshot first — your agent stops re-searching for things it already knows about.
|
|
96
93
|
|
|
97
94
|
---
|
|
98
95
|
|
|
99
96
|
## Available Tools
|
|
100
97
|
|
|
98
|
+
The MCP server exposes 15 tools, grouped by purpose. Most are local (no network) or fire-and-forget; the search, compare, and stack tools call the ToolCairn API.
|
|
99
|
+
|
|
100
|
+
### Discovery
|
|
101
|
+
|
|
101
102
|
| Tool | What it does |
|
|
102
|
-
|
|
103
|
-
| `search_tools` |
|
|
104
|
-
| `search_tools_respond` |
|
|
105
|
-
| `
|
|
106
|
-
| `
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
|
111
|
-
|
|
112
|
-
| `
|
|
113
|
-
| `
|
|
114
|
-
| `
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
103
|
+
|---|---|
|
|
104
|
+
| `search_tools` | Natural-language search with health signals and alternatives. May ask clarifying questions when intent is ambiguous. |
|
|
105
|
+
| `search_tools_respond` | Submit answers to refine an in-progress search. |
|
|
106
|
+
| `refine_requirement` | Decompose a vague use-case ("build a SaaS") into specific, searchable sub-needs. |
|
|
107
|
+
| `verify_suggestion` | Check whether the agent's tool picks are actually indexed in the ToolCairn graph. |
|
|
108
|
+
|
|
109
|
+
### Stacks & Compatibility
|
|
110
|
+
|
|
111
|
+
| Tool | What it does |
|
|
112
|
+
|---|---|
|
|
113
|
+
| `get_stack` | Compose a complementary tool stack with a cross-version compatibility matrix. |
|
|
114
|
+
| `compare_tools` | Head-to-head: health metrics, graph relationships, and a recommendation. |
|
|
115
|
+
| `check_compatibility` | Version-aware peer-range check between two tools. |
|
|
116
|
+
|
|
117
|
+
### Project Configuration
|
|
118
|
+
|
|
119
|
+
| Tool | What it does |
|
|
120
|
+
|---|---|
|
|
121
|
+
| `toolcairn_init` | Discover project roots, scan manifests, classify tools, write `.toolcairn/`. |
|
|
122
|
+
| `read_project_config` | Load the local `.toolcairn/config.json` snapshot (confirmed tools, pending items, audit log). |
|
|
123
|
+
| `update_project_config` | Atomically add, remove, or update a tool — every mutation is audited. |
|
|
124
|
+
|
|
125
|
+
### Feedback Loop
|
|
126
|
+
|
|
127
|
+
| Tool | What it does |
|
|
128
|
+
|---|---|
|
|
129
|
+
| `report_outcome` | Fire-and-forget: did the recommended tool work out? Closes the learning loop. |
|
|
130
|
+
| `suggest_graph_update` | Submit a new tool, edge, or use-case for admin review (staged, never auto-promoted). |
|
|
131
|
+
| `check_issue` | **Last resort.** Search a tool's GitHub issues for known bugs — only after 4+ retries and a docs review. |
|
|
132
|
+
|
|
133
|
+
### Session
|
|
134
|
+
|
|
135
|
+
| Tool | What it does |
|
|
136
|
+
|---|---|
|
|
137
|
+
| `classify_prompt` | Local: decide whether a tool search is needed at all (skips ToolCairn for non-tool prompts). |
|
|
138
|
+
| `toolcairn_auth` | Manage local sign-in: `login` / `status` / `logout`. |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Configuration
|
|
143
|
+
|
|
144
|
+
| Environment variable | Default | Purpose |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| `TOOLPILOT_API_URL` | `https://api.neurynae.com` | Backend endpoint. Override for self-hosted or staging. |
|
|
147
|
+
| `TOOLCAIRN_TRACKING_ENABLED` | `true` | Set `false` to disable usage event logging (see [Privacy](#privacy--telemetry)). |
|
|
148
|
+
| `LOG_LEVEL` | `info` | Set `debug` for verbose stdio diagnostics. |
|
|
149
|
+
| `MCP_TRANSPORT` | `stdio` | Set `http` for HTTP transport (advanced). |
|
|
150
|
+
|
|
151
|
+
### Where things live
|
|
152
|
+
|
|
153
|
+
- **Credentials** → `~/.toolcairn/credentials.json` (mode `0600`, 90-day expiry).
|
|
154
|
+
- **Per-project state** → `.toolcairn/{config.json, audit-log.jsonl, tracker.html}` at each detected project root.
|
|
155
|
+
|
|
156
|
+
The `tracker.html` file is a self-contained dashboard — open it in any browser to see every tool call, pending evaluation, and audit entry in real time.
|
|
118
157
|
|
|
119
158
|
---
|
|
120
159
|
|
|
121
|
-
## Session
|
|
160
|
+
## Session management
|
|
122
161
|
|
|
123
|
-
Your sign-in
|
|
162
|
+
Your sign-in lives at `~/.toolcairn/credentials.json` and lasts 90 days. From inside your agent:
|
|
124
163
|
|
|
125
164
|
```
|
|
126
|
-
toolcairn_auth status # check
|
|
127
|
-
toolcairn_auth logout #
|
|
165
|
+
toolcairn_auth { action: "status" } # check current sign-in
|
|
166
|
+
toolcairn_auth { action: "logout" } # clear credentials
|
|
128
167
|
```
|
|
129
168
|
|
|
130
|
-
To
|
|
169
|
+
To re-authenticate, simply restart your agent — the sign-in flow opens automatically.
|
|
131
170
|
|
|
132
171
|
---
|
|
133
172
|
|
|
134
|
-
##
|
|
173
|
+
## Privacy & telemetry
|
|
174
|
+
|
|
175
|
+
We're explicit about what leaves your machine.
|
|
176
|
+
|
|
177
|
+
**Sent to ToolCairn** (when tracking is enabled):
|
|
178
|
+
- Tool name, duration, and success/error status — for service health and product analytics.
|
|
179
|
+
- **Never** full prompts, response bodies, or project file contents.
|
|
180
|
+
|
|
181
|
+
**Stays local:**
|
|
182
|
+
- Every audit entry (`.toolcairn/audit-log.jsonl`).
|
|
183
|
+
- Project state and tool snapshots.
|
|
184
|
+
- Your credentials file.
|
|
185
|
+
|
|
186
|
+
**Opt out at any time:**
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
TOOLCAIRN_TRACKING_ENABLED=false
|
|
190
|
+
```
|
|
135
191
|
|
|
136
|
-
|
|
192
|
+
Tools still work normally; only the lightweight usage events are skipped.
|
|
193
|
+
|
|
194
|
+
Full privacy policy: [toolcairn.neurynae.com/privacy](https://toolcairn.neurynae.com/privacy).
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Troubleshooting
|
|
199
|
+
|
|
200
|
+
**Browser doesn't open for sign-in.** Copy the URL printed to stderr and visit it manually; enter the device code shown.
|
|
201
|
+
|
|
202
|
+
**`Module not found` or version errors.** Confirm Node 22+ with `node --version`.
|
|
203
|
+
|
|
204
|
+
**Behind a corporate proxy.** Set `HTTPS_PROXY` — `npx` and the MCP server respect it.
|
|
205
|
+
|
|
206
|
+
**Self-hosted backend.** Set `TOOLPILOT_API_URL=https://your-host`.
|
|
207
|
+
|
|
208
|
+
**Sign-in expired.** Restart your agent — the device-code flow re-runs automatically.
|
|
209
|
+
|
|
210
|
+
**Verbose logs.** Set `LOG_LEVEL=debug`.
|
|
211
|
+
|
|
212
|
+
**What is the agent doing?** Open `.toolcairn/tracker.html` in your browser for an auto-refreshing dashboard of every tool call.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## CLI: `scan`
|
|
217
|
+
|
|
218
|
+
A standalone health scan that doesn't start the MCP server:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
npx @neurynae/toolcairn-mcp scan [dir]
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Reads dependency manifests in `[dir]` (default: current directory) — `package.json`, `requirements.txt`, `pyproject.toml`, `Cargo.toml` — and reports health, alternatives, and warnings for each declared dependency.
|
|
225
|
+
|
|
226
|
+
Add `--json` for machine-readable output.
|
|
137
227
|
|
|
138
228
|
---
|
|
139
229
|
|
|
140
230
|
## Links
|
|
141
231
|
|
|
142
|
-
- **Website
|
|
143
|
-
- **Docs
|
|
144
|
-
- **
|
|
145
|
-
- **
|
|
232
|
+
- **Website:** [toolcairn.neurynae.com](https://toolcairn.neurynae.com)
|
|
233
|
+
- **Docs:** [toolcairn.neurynae.com/docs](https://toolcairn.neurynae.com/docs)
|
|
234
|
+
- **npm:** [@neurynae/toolcairn-mcp](https://www.npmjs.com/package/@neurynae/toolcairn-mcp)
|
|
235
|
+
- **GitHub:** [neurynae/toolcairn-mcp](https://github.com/neurynae/toolcairn-mcp)
|
|
236
|
+
- **Issues:** [github.com/neurynae/toolcairn-mcp/issues](https://github.com/neurynae/toolcairn-mcp/issues)
|
|
237
|
+
- **Security:** responsible disclosure to `security@neurynae.com`
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Contributing
|
|
242
|
+
|
|
243
|
+
Issues and feature requests are welcome at [github.com/neurynae/toolcairn-mcp/issues](https://github.com/neurynae/toolcairn-mcp/issues).
|
|
244
|
+
|
|
245
|
+
The graph engine, search pipeline, and indexer are closed-source. This repository contains the public MCP client and project-config layer that runs on user machines.
|
|
146
246
|
|
|
147
247
|
---
|
|
148
248
|
|
|
149
249
|
## License
|
|
150
250
|
|
|
151
|
-
MIT — © NEURYNAE
|
|
251
|
+
MIT — © 2026 NEURYNAE. See [LICENSE](https://github.com/neurynae/toolcairn-mcp/blob/main/LICENSE).
|