ScoutMCP

ScoutMCP

An MCP discovery and installation engine that enables users to search for, install, and manage Model Context Protocol servers via the Smithery Registry. It provides atomic tools for managing MCP configurations and is specifically designed to be orchestrated by Claude Code.

Category
访问服务器

README

MCP Scout

A simple MCP discovery and installation engine designed to be orchestrated by Claude Code.

MCP Scout provides atomic operations for searching, installing, and managing MCPs without making assumptions about tools or workflows. All intelligence and preferences are handled by Claude Code.

What This Does

MCP Scout is basically a search engine for MCPs (Model Context Protocol servers). Instead of trying to be smart about what you want, it just gives you raw search results from the Smithery Registry and lets you (or Claude) decide what to do with them.

Getting Started

What You Need

  • Python 3.10 or higher (FastMCP requires Python 3.10+)
  • A Smithery API key (grab one at smithery.ai)
  • Claude CLI installed

First, check your Python version:

python --version  # Should show 3.10+ 
# If that doesn't work, try: python3 --version

The Easy Way (Two Steps)

⚠️ Important: The Claude CLI doesn't remember environment variables between sessions, so you'll need to add your API key manually.

  1. Install ScoutMCP:
claude mcp add ScoutMCP -- python /path/to/ScoutMCP/server.py
  1. Add your API key: Open your Claude config file (~/.config/claude/claude_config.json) and find the ScoutMCP entry. Add your API key like this:
{
  "mcpServers": {
    "ScoutMCP": {
      "type": "stdio",
      "command": "python", 
      "args": ["/path/to/ScoutMCP/server.py"],
      "env": {
        "SMITHERY_API_KEY": "your_smithery_api_key_here"
      }
    }
  }
}
  1. Restart Claude to pick up the new config.

Alternative Ways to Install

Option A: Wrapper Script (Easiest)

Create a simple script that includes your API key:

  1. Create scout_wrapper.sh:
#!/bin/bash
export SMITHERY_API_KEY="your_smithery_api_key_here"
python /path/to/ScoutMCP/server.py
  1. Make it runnable and install:
chmod +x scout_wrapper.sh
claude mcp add ScoutMCP -- ./scout_wrapper.sh

Option B: System Environment Variable

Add this to your shell profile (~/.zshrc or ~/.bashrc):

export SMITHERY_API_KEY="your_smithery_api_key_here"

Then restart your terminal and install normally:

claude mcp add ScoutMCP -- python /path/to/ScoutMCP/server.py

Manual Installation

# Clone the repo
git clone https://github.com/yudduy/ScoutMCP.git
cd mcp-scout

# Install Python dependencies (make sure you're using Python 3.10+)
pip install -r requirements.txt

# Install ScoutMCP
claude mcp add ScoutMCP -- python /full/path/to/server.py

# Then manually add API key to Claude config as shown above

When Things Go Wrong

"ModuleNotFoundError: No module named 'fastmcp'"

This usually means FastMCP isn't installed or you're using the wrong Python version.

First, check your Python version:

python --version  # Must be 3.10+

If that's not the issue, try installing with the right Python:

# Find your Python 3.10+ installation
which python3.10  # or python3.11, python3.12, etc.

# Install dependencies with the correct Python
/path/to/python3.10 -m pip install -r requirements.txt

# Update your Claude config to use the right Python path

If you have Anaconda:

# Install with Anaconda Python
/opt/anaconda3/bin/pip install -r requirements.txt

# Update Claude config to use Anaconda Python
"command": "/opt/anaconda3/bin/python"

"Failed to connect" Error

This almost always means your API key isn't set up right.

Check your config: Look at your ~/.config/claude/claude_config.json file and make sure it has:

{
  "mcpServers": {
    "ScoutMCP": {
      "env": {
        "SMITHERY_API_KEY": "your_actual_key_here"
      }
    }
  }
}

Test the server manually:

export SMITHERY_API_KEY="your_key"
python /path/to/server.py

You should see the FastMCP startup screen without any errors.

Check the server path: Make sure the path in your Claude config actually points to the server.py file:

ls -la /path/to/ScoutMCP/server.py  # Should exist

Python Path Issues

Find the right Python:

# Check all Python versions on your system
ls -la /usr/bin/python*
ls -la /opt/anaconda3/bin/python*

# Test which one has fastmcp installed
/path/to/python -c "import fastmcp; print('FastMCP available')"

Update your Claude config with the right path:

{
  "mcpServers": {
    "ScoutMCP": {
      "command": "/correct/path/to/python",
      "args": ["/path/to/server.py"]
    }
  }
}

Environment Variables

  • SMITHERY_API_KEY: Your Smithery Registry API key (required)

The Tools

Search Tools

search_registry

Pure semantic search of the Smithery Registry. No interpretation, just raw results.

Parameters:

  • query (string): Your exact search term
  • limit (int, optional): Max results to return (default: 10)
  • filters (dict, optional): Smithery API filters (is_deployed, is_verified, owner, etc.)

Returns:

  • Raw search results from Smithery with status and results array

get_mcp_info

Get the full details about a specific MCP.

Parameters:

  • qualified_name (string): The exact MCP identifier

Returns:

  • Complete MCP details including connections and deployment info

Installation Tools

install_mcp

Install a single MCP.

Parameters:

  • qualified_name (string): MCP to install
  • install_command (string, optional): Override the install command
  • timeout_seconds (int, optional): How long to wait for installation (default: 60)

Returns:

  • Installation status and output

verify_installation

Check if an MCP is properly installed and working.

Parameters:

  • qualified_name (string): MCP to verify

Returns:

  • Verification status and config path

Management Tools

list_installed

Show all the MCPs currently installed in your Claude config.

Returns:

  • List of installed MCPs with their configurations

uninstall_mcp

Remove an MCP from your Claude configuration.

Parameters:

  • qualified_name (string): MCP to remove

Returns:

  • Removal status

Old Tools (Don't Use These)

setup_mcp ⚠️ DEPRECATED

Simple wrapper around the atomic tools. Use search_registry, install_mcp, verify_installation instead.

discover_mcps ⚠️ DEPRECATED

Old discovery tool. Use search_registry for direct semantic search instead.

How to Use It

Basic Workflow

1. Search for MCPs

# Simple search
search_registry("testing tools")

# Search with filters
search_registry("database", filters={"is_deployed": True})

# Specific search
search_registry("react development")

2. Install an MCP

# Search first
results = search_registry("python linter", limit=1)
if results["status"] == "success" and results["results"]:
    qualified_name = results["results"][0]["qualified_name"]
    
    # Install it
    install_mcp(qualified_name)
    
    # Make sure it worked
    verify_installation(qualified_name)

3. Manage Your MCPs

# See what's installed
list_installed()

# Remove something you don't want
uninstall_mcp("some-mcp-name")

Real-World Examples

Example 1: Finding Testing Tools for a React Project

# Step 1: Claude Code figures out what to search for based on what you asked
user_request = "I need testing tools for my React TypeScript project"

# Step 2: Search with specific queries
search_results = []
for query in ["react testing", "typescript test", "component testing"]:
    result = search_registry(query, limit=3)
    search_results.append(result)

# Step 3: Claude Code looks at the results and shows you options
# Step 4: You pick what you want
# Step 5: Claude Code installs it for you
install_mcp("selected-mcp-qualified-name")

Example 2: Finding Database Tools

# Claude Code understands what you need and searches appropriately
queries = [
    "postgresql client",
    "database management", 
    "sql tools"
]

for query in queries:
    results = search_registry(query, limit=2, filters={"is_verified": True})
    # Claude Code processes the results and makes recommendations

Search by Concept, Not Just Names

Instead of looking for specific tool names, search for what you want to do:

  • "code quality" → Finds linters, formatters, static analysis tools
  • "web scraping" → Finds web crawling and data extraction tools
  • "file operations" → Finds file system and file manipulation tools
  • "api testing" → Finds HTTP clients, API testing frameworks
  • "data processing" → Finds ETL, analytics, and data transformation tools

Handling Errors

# Search with error handling
result = search_registry("nonexistent tool")
if result["status"] == "error":
    print(f"Search failed: {result['message']}")
    # Claude Code can try different search terms

# Installation with error handling  
install_result = install_mcp("some-mcp")
if install_result["status"] == "error":
    error_code = install_result["error_code"]
    if error_code == "INSTALL_TIMEOUT":
        # Try again with more time
        install_mcp("some-mcp", timeout_seconds=120)

Moving from the Old Tools

# Old way (don't use this anymore)
setup_mcp(query="python linter")  # This will give you a deprecation warning

# New way (use this instead)
results = search_registry("python linter", limit=3)
# Claude Code looks at the options and your preferences
install_mcp(selected_qualified_name)
verify_installation(selected_qualified_name)

Working with Claude Code

For the best experience with Claude Code and getting good MCP recommendations, check out the complete prompt guide in PROMPT.md.

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选