bellwether discover
Quick discovery of MCP server capabilities without interviewing.
Synopsis
bellwether discover [options] <command> [args...]
bellwether summary [options] <command> [args...] # alias
Description
The discover command connects to an MCP server and lists its capabilities (tools, prompts, and resources) without conducting a full interview. This is useful for quick reconnaissance or verifying server connectivity.
The summary command is an alias for discover - both commands work identically.
Arguments
| Argument | Description |
|---|---|
<command> | The command to start the MCP server |
[args...] | Arguments to pass to the server command |
Options
Output Options
| Option | Description | Default |
|---|---|---|
--json | Output as JSON | false |
--timeout <ms> | Connection timeout in milliseconds | 30000 |
Remote Server Options
| Option | Description | Default |
|---|---|---|
--transport <type> | Transport type: stdio, sse, streamable-http | stdio |
--url <url> | URL for remote MCP server (requires --transport sse or streamable-http) | - |
--session-id <id> | Session ID for remote server authentication | - |
Examples
Basic Discovery
# Discover filesystem server capabilities
bellwether discover npx @modelcontextprotocol/server-filesystem /tmp
Output:
╔════════════════════════════════════════════════════════════════╗
║ @modelcontextprotocol/server-filesystem v1.0.0 ║
║ Protocol Version: 2024-11-05 ║
╚════════════════════════════════════════════════════════════════╝
CAPABILITIES
4 Tools · Resources
──────────────────────────────────────────────────────────────────
TOOLS
──────────────────────────────────────────────────────────────────
read_file(path)
Read contents of a file
write_file(path, content)
Write content to a file
list_directory(path)
List directory contents
search_files(pattern, path?)
Search for files matching a pattern
──────────────────────────────────────────────────────────────────
QUICK START
──────────────────────────────────────────────────────────────────
bellwether interview @modelcontextprotocol/server-filesystem /tmp --preset docs
Quick documentation generation
bellwether interview @modelcontextprotocol/server-filesystem /tmp --preset security
Security-focused testing
JSON Output
bellwether discover --json npx @modelcontextprotocol/server-memory
Output:
{
"serverInfo": {
"name": "@modelcontextprotocol/server-memory",
"version": "1.0.0"
},
"tools": [
{
"name": "store",
"description": "Store a value in memory",
"inputSchema": {
"type": "object",
"properties": {
"key": { "type": "string" },
"value": { "type": "any" }
},
"required": ["key", "value"]
}
}
],
"prompts": [],
"resources": []
}
With Custom Timeout
# Increase timeout for slow servers
bellwether discover --timeout 60000 npx slow-server
Remote MCP Servers
# Discover capabilities of a remote server via SSE
bellwether discover \
--transport sse \
--url https://api.example.com/mcp
# With authentication
bellwether discover \
--transport streamable-http \
--url https://api.example.com/mcp \
--session-id "auth-token-123"
Use Cases
Verify Server Connectivity
Before running a full interview, verify the server starts and responds:
bellwether discover npx your-server && echo "Server OK"
List Available Tools
Get a quick overview of what a server can do:
bellwether discover npx @modelcontextprotocol/server-postgres
Generate Tool Inventory
Create a JSON inventory of server capabilities:
bellwether discover --json npx your-server > capabilities.json
Debugging Server Issues
Use discover to isolate connection vs. interview issues:
# If this fails, it's a connection issue
bellwether discover npx your-server
# If discover works but interview fails, it's an LLM/interview issue
bellwether interview npx your-server
Exit Codes
| Code | Meaning |
|---|---|
0 | Success - server capabilities discovered |
2 | Error - connection failed or server error |