惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
D
Docker
J
Java Code Geeks
腾讯CDC
Blog — PlanetScale
Blog — PlanetScale
G
Google Developers Blog
M
MIT News - Artificial intelligence
L
LangChain Blog
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
博客园 - Franky
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
N
Netflix TechBlog - Medium
B
Blog RSS Feed
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
MCP Solved Tool Access. Tool Selection Is Still Unsolved
Anmol Raj So · 2026-05-11 · via DEV Community

I have been building agentic workflows for the better part of a year, and the same friction keeps coming back: my agents have access to too many tools and judgement about almost none of them.

MCP fixed the access problem. It standardised how agents call tools, how clients connect, how servers describe themselves. That is real, and it has unlocked a wave of useful servers — browser automation, file systems, search, databases, you name it.

But access is not selection. When I ask Claude Code to "build me a real-time chat app with auth," it does not need a list of every MCP server in the world. It needs to know: which database, which realtime transport, which auth provider, and whether those four picks are version-compatible with each other. That is a different problem, and it is the one I built ToolCairn to solve.

The shape of the problem

If you have built anything serious on top of MCP, you have probably hit one of these:

  • Tool overload. Your agent has 30+ servers connected. Most are noise for the current task. Surface area becomes a context-window problem.
  • Wrong-package picks. The model autocompletes to a popular but wrong library. (requests vs. httpx. socket.io vs. native WebSocket. next-auth vs. better-auth.)
  • Version drift. The picks individually look fine; together they do not install. Or they install and then crash at runtime on a peer-dep mismatch.
  • No "why". A directory listing tells you a tool exists. It does not tell you why an agent should pick it for this specific task, what it composes well with, or what the trust signals are.

These are not exotic problems. They show up in week one of any non-trivial agent build.

What I built

ToolCairn is an MCP server. You install it the same way you install any MCP server:

claude mcp add toolcairn -- npx @neurynae/toolcairn-mcp

Enter fullscreen mode Exit fullscreen mode

Once it is connected, your agent gets a small, focused toolkit:

  • classify_prompt — decide whether a request is a single-tool need, a multi-layer stack build, a comparison, or unrelated.
  • search_tools / search_tools_respond — find the right tool for one specific need, with a clarification loop when the request is ambiguous.
  • refine_requirement + get_stack — for "build me a SaaS analytics dashboard"-shaped tasks, decompose into sub-needs and return a coherent stack with cross-tool compatibility.
  • compare_tools — head-to-head when the user asks "X vs Y."
  • check_compatibility — version-aware peer-dep evaluation across picks.
  • check_issue — last-resort known-bug lookup before the agent burns three more retries on a problem.
  • report_outcome — close the loop after the user actually uses the recommendation, so the graph learns.

Underneath, the recommendations are drawn from a graph of tools indexed across 35+ open-source registries — npm, PyPI, Cargo, Maven, Go, Composer, RubyGems, NuGet, Homebrew, and more. The current graph carries thousands of tools with usage context, registry metadata, and version data — not a flat directory listing.

A concrete example

Prompt: "Build me a real-time chat app with auth."

What the agent does, with ToolCairn connected:

  1. classify_prompt → returns stack_building.
  2. refine_requirement → decomposes into web-framework, realtime-transport, auth-provider, database.
  3. get_stack → returns a ranked stack: Next.js + Socket.IO + NextAuth + PostgreSQL, with a cross-tool compatibility matrix.
  4. check_compatibility → confirms next@15socket.io-client@4 ✅ peer-dep evaluation across the four picks.
  5. The agent writes the project. After it ships, report_outcome fires and the graph learns from the choice.

That is a different shape of response than "here are 12 chat libraries, sorted by GitHub stars."

What this is not

I want to be very specific about scope, because the closest comparison is "directory" and that is the wrong frame.

  • It is not a directory. Directories are for humans browsing. ToolCairn is for agents requesting context at task time.
  • It is not a replacement for the official MCP Registry. The MCP Registry is the canonical index of MCP servers. ToolCairn is one server inside that index, focused on selection, not listing.
  • It is not a ranking algorithm dressed up. Ranking matters, but the load-bearing piece is the graph — how tools relate, what they compose with, what versions work together.
  • It is not finished. Trust signals, integration breadth, and the per-task recommendation quality all still have a long runway. That is most of what I want feedback on.

How to try it

What I want feedback on

Genuinely, blunt feedback, not validation:

  1. Recommendation relevance. Are the picks actually the picks you would have made?
  2. Missing categories. Where does ToolCairn return nothing useful? Which ecosystems is the graph too thin in?
  3. Trust signals. What would make a recommendation trustworthy enough that you would let an agent act on it without reviewing every line?
  4. Client integrations. Claude Code is supported today. Cursor, Codex, Windsurf, VS Code AI — which should come first?

You can leave it on a GitHub issue, a comment under this post, or my DMs. I read everything.