Skip to main content

bellwether discover

Quick discovery of MCP server capabilities without running checks.

Synopsis

bellwether discover [command] [args...] [options]

Description

The discover command connects to an MCP server and lists its capabilities (tools, prompts, resources, and resource templates) without conducting a full check. This is useful for quick reconnaissance or verifying server connectivity.

Config Optional

discover can run without a config file. If bellwether.yaml is present, its discovery settings are used.

For remote MCP servers, use --transport sse or --transport streamable-http with --url instead of providing a command.

Arguments

ArgumentDescription
[command]Command to start the MCP server (not required for remote)
[args...]Arguments to pass to the server command

Options

Output Options

OptionDescriptionDefault
-c, --config <path>Path to config filebellwether.yaml
--jsonOutput as JSONfalse
--timeout <ms>Connection timeout in millisecondsdiscovery.timeout

Remote Server Options

OptionDescriptionDefault
--transport <type>Transport type: stdio, sse, streamable-httpdiscovery.transport
--url <url>URL for remote MCP server (requires --transport sse or streamable-http)-
--session-id <id>Session ID for remote MCP session continuity (optional)-
-H, --header <header...>Custom header(s) for remote MCP requestsFrom discovery.headers / server.headers

Examples

Basic Discovery

# Discover filesystem server capabilities
bellwether discover npx @modelcontextprotocol/server-filesystem /tmp

Output:

╔════════════════════════════════════════════════════════════════╗
║ @modelcontextprotocol/server-filesystem v1.0.0 ║
║ Protocol Version: 2025-11-25 ║
╚════════════════════════════════════════════════════════════════╝

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 check npx @modelcontextprotocol/server-filesystem /tmp
Schema validation (free, fast)

bellwether explore npx @modelcontextprotocol/server-filesystem /tmp
Deep behavioral exploration (requires LLM)

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 \
-H "Authorization: Bearer $MCP_SERVER_TOKEN"

For config-based auth, set:

server:
headers:
Authorization: "Bearer ${MCP_SERVER_TOKEN}"

discovery:
headers:
X-API-Key: "${MCP_API_KEY}" # Overrides server.headers for discover

Use Cases

Verify Server Connectivity

Before running a full check, 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. check issues:

# If this fails, it's a connection issue
bellwether discover npx your-server

# If discover works but check fails, review the check output
bellwether check npx your-server

Exit Codes

CodeMeaning
0Success - server capabilities discovered
4Error - connection failed or server error

See Also

  • check - Schema validation and drift detection
  • explore - LLM-powered behavioral exploration
  • init - Create configuration file