Skip to main content

Tools Reference

SLOP MCP exposes 8 meta-tools that provide access to all connected MCPs.

search_tools

Search for tools across all connected MCPs.

Parameters

NameTypeRequiredDescription
querystringNoSearch query (fuzzy matched)
mcp_namestringNoFilter to specific MCP

Response

Returns matching tools with their schemas:

{
"tools": [
{
"name": "calculate",
"description": "Evaluate mathematical expressions",
"mcp_name": "math-mcp",
"input_schema": { ... }
}
],
"total": 1
}

Examples

# Search all MCPs
search_tools query="file upload"

# Search specific MCP
search_tools mcp_name="github" query="issue"

# List all tools from an MCP
search_tools mcp_name="math-mcp"

execute_tool

Execute a tool on a specific MCP.

Parameters

NameTypeRequiredDescription
mcp_namestringYesTarget MCP name
tool_namestringYesTool to execute
parametersobjectNoTool parameters

Response

Returns the tool's response:

{
"content": [
{
"type": "text",
"text": "Result: 42"
}
]
}

Examples

# Simple execution
execute_tool mcp_name="math-mcp" tool_name="calculate" \
parameters={"expression": "2 + 2"}

# With complex parameters
execute_tool mcp_name="github" tool_name="create_issue" \
parameters={
"repo": "owner/repo",
"title": "Bug report",
"body": "Description here",
"labels": ["bug", "priority-high"]
}

manage_mcps

Manage MCP server connections.

Parameters

NameTypeRequiredDescription
actionstringYesAction: register, unregister, list, status
namestringConditionalMCP name (required for register/unregister)
typestringNoTransport type (for register)
commandstringNoCommand (for stdio)
argsarrayNoCommand arguments
urlstringNoURL (for http/sse/streamable)
envobjectNoEnvironment variables
headersobjectNoHTTP headers

Actions

register

Register a new MCP:

manage_mcps action="register" name="my-mcp" \
type="stdio" command="npx" args=["my-mcp-package"]

manage_mcps action="register" name="figma" \
type="streamable" url="https://mcp.figma.com/mcp"

unregister

Remove an MCP:

manage_mcps action="unregister" name="my-mcp"

list

List all MCPs:

manage_mcps action="list"

Response:

{
"mcps": [
{
"name": "math-mcp",
"type": "stdio",
"connected": true,
"tool_count": 8
}
]
}

status

Get detailed status:

manage_mcps action="status" name="figma"

auth_mcp

Manage OAuth authentication for MCPs.

Parameters

NameTypeRequiredDescription
actionstringYesAction: login, logout, status, list
namestringConditionalMCP name (required for login/logout/status)

Actions

login

Initiate OAuth flow:

auth_mcp action="login" name="figma"

Opens browser for authentication. After completion:

{
"message": "Successfully authenticated with figma - connection re-established with new credentials",
"status": {
"server_name": "figma",
"is_authenticated": true,
"expires_at": "2024-01-15T10:30:00Z",
"has_refresh_token": true
}
}

logout

Remove authentication:

auth_mcp action="logout" name="figma"

status

Check auth status:

auth_mcp action="status" name="figma"

list

List authenticated MCPs:

auth_mcp action="list"

get_metadata

Get full metadata for connected MCPs.

Parameters

NameTypeRequiredDescription
mcp_namestringNoFilter to specific MCP
file_pathstringNoWrite output to file

Response

Returns comprehensive metadata:

{
"metadata": [
{
"name": "math-mcp",
"type": "stdio",
"state": "connected",
"tools": [
{
"name": "calculate",
"description": "...",
"input_schema": { ... }
}
],
"prompts": [],
"resources": [],
"resource_templates": []
}
]
}

Examples

# Get all metadata
get_metadata

# Get specific MCP
get_metadata mcp_name="github"

# Write to file
get_metadata file_path="metadata.json"

run_slop

Execute a SLOP script.

Parameters

NameTypeRequiredDescription
scriptstringConditionalInline SLOP script
file_pathstringConditionalPath to .slop file

One of script or file_path is required.

Examples

Inline Script

run_slop script='
result = math.calculate(expression: "100 * 1.15")
emit(result)
'

File Script

run_slop file_path="scripts/deploy.slop"

Recipes

run_slop recipe="list"
run_slop recipe="batch_collect"

SLOP Script Syntax

# Variables
tax_rate = 0.08

# MCP calls
result = math.calculate(expression: format("100 * (1 + {})", tax_rate))

# Conditionals
if result > 100 {
slack.post_message(channel: "#alerts", text: format("High value: {}", result))
}

# Loops
for item in items {
processor.process(data: item)
}

# Pipes
[1, 2, 3, 4, 5] | filter(|x| x > 2) | map(|x| x * 10)

See the SLOP Language Reference for full syntax documentation.


Error Handling

All tools return errors in a consistent format:

{
"error": {
"code": "MCP_NOT_FOUND",
"message": "MCP 'unknown' not found",
"details": {
"available_mcps": ["math-mcp", "github", "figma"]
}
}
}

slop_reference

Search SLOP built-in functions by name, category, or description.

Parameters

NameTypeRequiredDescription
querystringNoSearch query for function names and descriptions
categorystringNoFilter by category (math, string, list, map, etc.)
limitintegerNoMax results (default: 10)
verbosebooleanNoInclude full details (default: false, compact mode)
list_categoriesbooleanNoReturn category counts instead of functions

Examples

# Search for string functions
slop_reference query="string"

# List all categories
slop_reference list_categories=true

# Get verbose details for math functions
slop_reference category="math" verbose=true

slop_help

Get full details for a specific SLOP built-in function.

Parameters

NameTypeRequiredDescription
namestringYesFunction name

Examples

# Get help for the map function
slop_help name="map"

# Get help for mem_save
slop_help name="mem_save"

Error Handling

All tools return errors in a consistent format:

{
"error": {
"code": "MCP_NOT_FOUND",
"message": "MCP 'unknown' not found",
"details": {
"available_mcps": ["math-mcp", "github", "figma"]
}
}
}

Error Codes

CodeDescription
MCP_NOT_FOUNDMCP not registered
TOOL_NOT_FOUNDTool not found in MCP
AUTH_REQUIREDMCP requires authentication
AUTH_EXPIREDToken expired, re-auth needed
CONNECTION_FAILEDFailed to connect to MCP
EXECUTION_FAILEDTool execution failed
INVALID_PARAMSInvalid parameters provided