MCP orchestrator — connect unlimited Model Context Protocol servers through 8 meta-tools. Progressive tool discovery keeps your AI agent's context window small.
Project description
slop-mcp
MCP orchestrator that aggregates multiple Model Context Protocol servers behind 8 meta-tools. Connect any number of MCPs without bloating your agent's context window.
Without slop-mcp: 50 MCPs x 20 tools = 1,000 tool definitions in context
With slop-mcp: 50 MCPs x 20 tools = 8 tool definitions in context
Install
uvx slop-mcp serve
Or install globally:
pip install slop-mcp
Also available via npm (npx @standardbeagle/slop-mcp), Go, and binary releases.
Configure
Add to Claude Desktop:
{
"mcpServers": {
"slop": {
"command": "uvx",
"args": ["slop-mcp", "serve"]
}
}
}
Add to Claude Code:
claude mcp add slop-mcp -- uvx slop-mcp serve
Windows users: Use cmd /c to wrap the command if path handling corrupts the args:
{
"mcpServers": {
"slop": {
"command": "cmd",
"args": ["/c", "uvx", "slop-mcp", "serve"]
}
}
}
Define MCP servers in .slop-mcp.kdl:
mcp "github" {
transport "sse"
url "https://mcp.github.com/sse"
}
mcp "jira" {
transport "streamable"
url "https://mcp.atlassian.com/v2/mcp"
}
mcp "lci" {
command "lci" "mcp"
}
The 8 Meta-Tools
| Tool | Purpose |
|---|---|
search_tools |
Fuzzy search across all connected MCP tools |
execute_tool |
Run any tool on any connected MCP |
get_metadata |
Inspect tool schemas and MCP capabilities |
run_slop |
Execute multi-tool scripts without round-trips |
manage_mcps |
Add or remove MCP servers at runtime |
auth_mcp |
OAuth authentication for MCPs that need it |
slop_reference |
Browse SLOP built-in functions |
slop_help |
Get detailed help for a SLOP function |
Examples
Cross-MCP orchestration with SLOP
Chain tools across multiple MCPs in a single run_slop call — intermediate results stay out of the agent's context:
# Create Jira tasks from unread emails matching a filter
emails = gmail.search_messages(query: "label:action-needed is:unread")
for email in emails {
jira.create_issue(
project: "OPS",
summary: email["subject"],
description: format("From: {}\n\n{}", email["from"], email["snippet"]),
issue_type: "Task"
)
gmail.modify_message(id: email["id"], remove_labels: ["UNREAD"])
}
emit(created: len(emails))
# Agent sees only: {"created": 4}
# Index codebase structure into persistent memory for future sessions
results = lci.search(query: "public API endpoints")
endpoints = results
| map(|r| {"path": r["file"], "name": r["symbol"], "kind": r["kind"]})
| filter(|r| r["kind"] == "function")
mem_save("project", "api_endpoints", endpoints,
description: "Public API endpoint inventory")
emit(indexed: len(endpoints))
# Generate a visual report from code analysis
stats = lci.search(query: "struct")
by_package = stats
| map(|r| r["file"] | split("/") | first())
| group_by(|pkg| pkg)
chart_data = by_package
| items()
| map(|pair| {"label": pair[0], "value": len(pair[1])})
| sorted(|a, b| b["value"] - a["value"])
banana.create_chart(type: "bar", title: "Structs by Package", data: chart_data)
Features
- Progressive discovery — agents find tools via
search_tools, not by loading everything upfront - SLOP scripting — chain tool calls across MCPs and process results in a single
run_slopcall - Lazy connections — MCP servers connect asynchronously with tool metadata caching
- Persistent memory — disk-backed
mem_save/mem_load/mem_searchacross sessions - Three-tier config — project-local > project > user config merging with KDL
- OAuth support — browser-based auth for MCPs like Figma, GitHub, Linear, Jira
- All transports — stdio, SSE, and streamable HTTP
Documentation
standardbeagle.github.io/slop-mcp
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slop_mcp-0.12.2.tar.gz.
File metadata
- Download URL: slop_mcp-0.12.2.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9923f206a5fbd94f846ef4a48f0035cf30c7b617cf3cb9da993b93cf53d18c57
|
|
| MD5 |
4b097f8344f757ad9a0dddae386fe933
|
|
| BLAKE2b-256 |
51a4692e573db1f45524d0eeacd923b2630997f5528e8d506d4ec1923c600f99
|
Provenance
The following attestation bundles were made for slop_mcp-0.12.2.tar.gz:
Publisher:
release.yml on standardbeagle/slop-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
slop_mcp-0.12.2.tar.gz -
Subject digest:
9923f206a5fbd94f846ef4a48f0035cf30c7b617cf3cb9da993b93cf53d18c57 - Sigstore transparency entry: 994999241
- Sigstore integration time:
-
Permalink:
standardbeagle/slop-mcp@a7fe59ce4c5ca5ff4de323cd28c3da2b4b935930 -
Branch / Tag:
refs/tags/v0.12.2 - Owner: https://github.com/standardbeagle
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a7fe59ce4c5ca5ff4de323cd28c3da2b4b935930 -
Trigger Event:
release
-
Statement type:
File details
Details for the file slop_mcp-0.12.2-py3-none-any.whl.
File metadata
- Download URL: slop_mcp-0.12.2-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1742911e896dedb0a4399bcba645d1ffcf694a158a57abab2bbd16e1650bf17e
|
|
| MD5 |
66946476c414a07894aada9ac77f4e8e
|
|
| BLAKE2b-256 |
8e4e68f905408144139939b2a1dedc0c4614e4301253cde1ea9fb5cba8299b7e
|
Provenance
The following attestation bundles were made for slop_mcp-0.12.2-py3-none-any.whl:
Publisher:
release.yml on standardbeagle/slop-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
slop_mcp-0.12.2-py3-none-any.whl -
Subject digest:
1742911e896dedb0a4399bcba645d1ffcf694a158a57abab2bbd16e1650bf17e - Sigstore transparency entry: 994999305
- Sigstore integration time:
-
Permalink:
standardbeagle/slop-mcp@a7fe59ce4c5ca5ff4de323cd28c3da2b4b935930 -
Branch / Tag:
refs/tags/v0.12.2 - Owner: https://github.com/standardbeagle
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a7fe59ce4c5ca5ff4de323cd28c3da2b4b935930 -
Trigger Event:
release
-
Statement type: