Concierge: Stage-Based Tool Access for MCP Agents
Concierge provides stage-based tool access control for MCP agents, enabling developers to progressively unlock capabilities as agents advance through defined
Someone built a clever solution for MCP servers that keeps agents from calling tools in the wrong order.
The problem: When you hook up 50+ tools to an agent, it sometimes does dumb stuff like trying to checkout before adding items to a cart. Adding system prompts to explain the order rarely helps.
Concierge organizes MCP tools into stages, so agents only see relevant tools at each step:
app = Concierge(FastMCP("my-server"))
app.stages = {
"browse": ["search_products"],
"cart": ["add_to_cart"],
"checkout": ["pay"]
}
app.transitions = {
"browse": ["cart"],
"cart": ["checkout"]
}
Now the agent can’t jump to pay() until it’s actually in the checkout stage. Bonus: reduces context bloat since you’re not serving all 50 tools on every message.
Works with existing MCP setups, and apparently handles semantic search for massive tool collections too.
Related Tips
Benchmark Models in Transformers for Real Speed
Benchmark Models in Transformers for Real Speed explores performance testing methodologies and evaluation techniques for transformer architectures, comparing
ktop: Unified GPU/CPU Monitor for Hybrid Workloads
ktop is a unified monitoring tool that provides real-time visibility into both GPU and CPU performance metrics for hybrid workloads running across
llama.cpp Gets Full MCP Support with Tools & UI
llama.cpp now includes complete Model Context Protocol support, enabling developers to use tools and a user interface for enhanced local language model