The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Install
pip install concierge-sdkInstall command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →Concierge AI 🚀
The fabric for reliable MCP servers and AI applications.
The Model Context Protocol (MCP) is a standardized way to connect AI agents to tools. Instead of exposing a flat list of every tool on every request, Concierge progressively discloses only what's relevant. Concierge guarantees deterministic results and reliable tool invocation.
Getting Started
[!NOTE] Concierge requires Python 3.9+. We recommend installing with uv for faster dependency resolution, but pip works just as well.
pip install concierge-sdk
Scaffold a new project:
concierge init my-store # Generate a ready to run project
cd my-store # Enter project
python main.py # Start the MCP server
Or wrap an existing MCP server two lines, nothing else changes:
# Before
from mcp.server.fastmcp import FastMCP
app = FastMCP("my-server")
# After: just wrap it
from concierge import Concierge
app = Concierge(FastMCP("my-server"))
[!TIP] Concierge works at the MCP protocol level. It dynamically changes which tools are returned by
tools/listbased on the current workflow step. The agent and client don't need to know Concierge exists, they just see fewer, more relevant tools at each point.
from concierge import Concierge
from mcp.server.fastmcp import FastMCP
app = Concierge(FastMCP("my-server"))
# Your @app.tool() decorators stay exactly the same.
# You can additionally add app.stages and app.transitions.
[!NOTE] The wrap and go gives you progressive tool disclosure immediately. Add
app.stagesandapp.transitionswhen you want full workflow control, no code changes required.
Usage
Group tools into steps
Instead of exposing everything at once, group related tools together. Only the current step's tools are visible to the agent:
app.stages = {
"browse": ["search_products", "view_product"],
"cart": ["add_to_cart", "remove_from_cart", "view_cart"],
"checkout": ["apply_coupon", "complete_purchase"],
}
Define transitions
Control which steps can follow which. The agent moves forward (or backward) only along paths you allow:
app.transitions = {
"browse": ["cart"], # Can only move to cart
"cart": ["browse", "checkout"], # Can go back or proceed
"checkout": [], # Terminal step
}
Share state between steps
Pass data between workflow steps without round-tripping through the LLM. State is session-scoped and works across distributed replicas:
# In the "browse" step - save a selection
app.set_state("selected_product", {"id": "p1", "name": "Laptop"})
# In the "cart" step retrieve it directly
product = app.get_state("selected_product")
Scale with semantic search
When you have hundreds of tools, enable semantic search to collapse your entire API behind two meta-tools:
from concierge import Concierge, Config, ProviderType
app = Concierge("large-api", config=Config(
provider_type=ProviderType.SEARCH,
max_results=5,
))
No matter how many tools you register, the agent only ever sees:
search_tools(query: str) → Find tools by description
call_tool(tool_name: str, args: dict) → Execute a discovered tool
Run over HTTP
Similar plugs
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io