Stop Searching. Start Trusting.

The curated directory of MCP servers, vetted for security, efficiency, and quality.

Tired of the MCP "Marketplace" Chaos?

We built MCPScout.ai to solve the ecosystems biggest pain points.

No Insecure Dumps

We manually analyze every server for basic security flaws.

Easy Setup

Our gotcha notes warn you about complex setups.

Avoid "Token Hogs"

We estimate token costs for cost-effective agents.

Products, Not Demos

We filter out "Hello World" demos.

CATEGORIES:
SORT:

Vetted Servers(8554)

0
0
High Cost

Provides real-time and historical Indian stock market data and financial analysis tools to AI assistants via Model Context Protocol (MCP).

Setup Requirements

  • ⚠️Requires an API Key from IndianAPI.in (free tier limited to 500 requests/month).
  • ⚠️Requires Node.js and npm installed.
  • ⚠️AI client needs to be configured to connect to http://localhost:3001 (or specified PORT).
Verified SafeView Analysis
The server uses environment variables for API keys, which is good practice. It connects to a third-party API (IndianAPI.in) which introduces an external dependency risk. The server runs locally, limiting direct external exposure. No 'eval' or obvious malicious patterns found.
Updated: 2025-11-24GitHub
0
0
High Cost
IrisMu01 icon

midi-gen-mcp

by IrisMu01

Sec6

An MCP server that provides low-level MIDI manipulation tools for AI-assisted music composition by an LLM.

Setup Requirements

  • ⚠️Requires 'uv' (a Python package manager/runner) for recommended installation and usage.
  • ⚠️Designed to be used with an MCP client (e.g., Claude Desktop); it does not provide a standalone GUI.
  • ⚠️State is in-memory only and is not persisted between sessions, requiring external management for saving/loading compositions.
Verified SafeView Analysis
The server uses the `eval()` function within `_eval_expression` in `note.py`, `validation.py`, and `midi_export.py` to process mathematical expressions for note timing. While `eval()` is used with `{"__builtins__": {}}` to restrict access to built-in functions, `eval()` still carries inherent risks if malicious input is provided, potentially leading to code execution vulnerabilities if the controlling LLM is compromised or manipulated. The server operates via stdio, which limits direct network exposure, but the internal risk remains.
Updated: 2026-01-19GitHub
0
0
Low Cost
Felipenor icon

cc-context-stats

by Felipenor

Sec8

Monitors and displays Claude Code session context, token usage, and project status in real-time in the editor's status line, and provides a CLI tool for visualizing this data.

Setup Requirements

  • ⚠️Requires platform-specific dependencies for bash scripts (e.g., `jq` on macOS/Linux). Python/Node.js versions require Python 3.9+ or Node.js 18+ respectively.
  • ⚠️Manual configuration of Claude Code's `settings.json` might be needed to integrate the status line script, although the `install.sh` script attempts to automate this.
  • ⚠️The `context-stats` CLI tool requires `~/.local/bin` to be in the user's PATH to be invoked directly.
Verified SafeView Analysis
The application is designed as a local utility, processing data from the user's Claude Code environment. It uses `subprocess.run` (Python) and `execSync` (Node.js) for git commands, which are generally safe as the commands are hardcoded. File operations for state and configuration are confined to the user's home directory (`~/.claude/statusline`). A minor concern exists in how `session_id` (extracted from JSON input) is directly incorporated into state file paths (`statusline.${session_id}.state`). If a `session_id` were to contain path traversal characters (e.g., `../../../malicious.sh`), it could lead to writing outside the intended state directory. However, given it runs under user privileges for a local tool, the risk of external malicious exploitation is low.
Updated: 2026-01-17GitHub
0
0
High Cost
useweeknight icon

mcp-server

by useweeknight

Sec8

A Node.js Express backend API server for a dinner planning application, integrating with Supabase for data persistence and OpenAI for advanced features like intent normalization and Realtime API access.

Setup Requirements

  • ⚠️Requires Node.js 20+ runtime.
  • ⚠️Requires Supabase project with `SUPABASE_URL` and `SUPABASE_SERVICE_ROLE_KEY` configured.
  • ⚠️Requires OpenAI API Key (`OPENAI_API_KEY`) for AI-powered features like intent normalization and Realtime API access (paid service).
Verified SafeView Analysis
The server demonstrates good security practices including strict CORS policies, the use of Bearer tokens without 'Allow-Credentials', role-based access control for all admin APIs, and fetching sensitive keys from environment variables. Database interactions leverage Supabase client, mitigating direct SQL injection risks. Input validation is present for key routes. A minor point is the use of `JSON.parse` on data from external services (OpenAI responses, Supabase DB feature flags), which relies on the external service's guarantee of valid JSON output. No 'eval' or malicious patterns were found.
Updated: 2025-12-02GitHub
0
0
Low Cost
Harsh-Arya-exe icon

fast-mcp-demo-server

by Harsh-Arya-exe

Sec9

A server for tracking and managing personal expenses, offering tools to add, list, and summarize financial data.

Setup Requirements

  • ⚠️Requires Python 3.12 or newer
  • ⚠️Requires write access to the system's temporary directory for database creation and operation
  • ⚠️Dependencies `aiosqlite` and `fastmcp` must be installed (e.g., `pip install -e .` or `pip install aiosqlite fastmcp`)
Verified SafeView Analysis
Uses parameterized SQL queries to prevent injection. Stores the SQLite database in the system's temporary directory, which is generally writable and limits persistence between reboots. No obvious hardcoded secrets or dangerous patterns like `eval`. Error handling provides generic messages, but could be more abstract to avoid revealing implementation details.
Updated: 2025-11-27GitHub
0
0
Low Cost
ArdaGurcan icon

cloudlab-mcp

by ArdaGurcan

Sec9

Enables AI assistants to directly manage and interact with CloudLab/Emulab experiments for provisioning, monitoring, and controlling compute resources.

Setup Requirements

  • ⚠️Requires Node.js 18+.
  • ⚠️Requires a CloudLab account with API access and a valid CloudLab JWT token.
  • ⚠️The CloudLab JWT token must be saved to a specific file path or provided via the `CLOUDLAB_TOKEN_PATH` environment variable for the server to authenticate.
Verified SafeView Analysis
The server handles CloudLab JWT tokens securely by prioritizing environment variables and local file paths, with clear warnings against committing them to version control. It communicates with the CloudLab API exclusively over HTTPS. No 'eval', code obfuscation, or directly malicious patterns were identified in the provided source code. The server operates via standard I/O (stdio), meaning it does not open its own network ports directly, relying on the invoking application (e.g., Claude Desktop) for communication security. Minor risk: CloudLab API error messages are returned directly and could potentially contain detailed backend information, though this is dependent on the CloudLab API itself.
Updated: 2025-12-06GitHub
0
0
Medium Cost
kiki830621 icon

che-word-mcp

by kiki830621

Sec8

Programmatically creates, reads, modifies, and exports Microsoft Word (.docx) documents without requiring Microsoft Word installation, providing a wide array of document manipulation tools.

Setup Requirements

  • ⚠️Requires macOS 13.0+ and Swift 5.9+ for building from source.
  • ⚠️Installation involves manual placement of the binary and configuration (e.g., in claude_desktop_config.json or via `claude mcp add`).
Verified SafeView Analysis
The server operates on the local file system using paths provided in tool arguments, which is an inherent risk for any file manipulation tool. While using standard Swift file operations, comprehensive input validation for malicious path traversal (e.g., '..') is crucial and relies on the calling environment or careful agent prompting. The server communicates via standard I/O, limiting direct network exposure. No 'eval' or similar arbitrary code execution patterns were found, and tool dispatch is explicitly handled via a switch statement.
Updated: 2026-01-19GitHub
0
0
Low Cost

This project demonstrates building ChatGPT applications using the Model Context Protocol (MCP) with Next.js, providing tools and resources renderable natively within ChatGPT.

Setup Requirements

  • ⚠️Requires Node.js (>=18.18.0) and pnpm (or equivalent package manager like npm/yarn) for development and deployment.
  • ⚠️Deployment to Vercel is recommended for automatic `baseURL` configuration; otherwise, manual setup of VERCEL_PROJECT_PRODUCTION_URL, VERCEL_BRANCH_URL, or VERCEL_URL environment variables is required.
  • ⚠️OpenAI API Key for ChatGPT interaction is configured within the ChatGPT settings, not directly in this application's environment variables.
Verified SafeView Analysis
The server uses `Access-Control-Allow-Origin: *` in its middleware, which provides broad access for cross-origin requests. While this might be intended for integration with the ChatGPT host, it is generally a security risk that could be tightened for production if specific origins are known. Dynamic client-side JavaScript is injected via `app/layout.tsx` to handle OpenAI SDK integration, but the script is inline and originates from the codebase, not an external untrusted source. No direct `eval` of untrusted user input or hardcoded sensitive secrets found. The base URL is derived from environment variables, which is good practice.
Updated: 2026-01-19GitHub
0
0
Medium Cost

Controls Home Assistant lights with detailed color and state management, and creates/manages scenes, complementing the official Home Assistant MCP with advanced light features.

Setup Requirements

  • ⚠️Requires a running Home Assistant instance.
  • ⚠️Requires a Home Assistant long-lived access token.
  • ⚠️Requires Node.js and npm to run the server.
Verified SafeView Analysis
The server design emphasizes safety: it strictly controls only lights, not critical systems. It communicates via stdio, limiting network exposure. Critical light-changing operations require explicit 'user_confirmed=true'. Home Assistant credentials are loaded from environment variables or a local config file, not hardcoded. Local scene backups are maintained, and multi-instance changes are handled with a merge strategy. No 'eval' or malicious patterns were identified.
Updated: 2025-12-21GitHub
0
0
Medium Cost
auxia-inc icon

mcp-servers

by auxia-inc

Sec7

Manage Google Drive files, folders, Google Sheets, and monitor Drive activity directly from Claude Code.

Setup Requirements

  • ⚠️Requires a graphical environment to open a browser for initial Google OAuth authentication.
  • ⚠️Node.js version >=18 is required to run the server.
  • ⚠️Hardcoded Google OAuth client credentials may need to be overridden if Google revokes or flags them for public exposure. (Though the README indicates these are Auxia's public credentials, users may want to configure their own).
Verified SafeView Analysis
The server uses hardcoded OAuth client ID and client secret in `src/credentials.ts` for Google API access. While the README suggests this is for application identification, hardcoding client secrets in distributed source code is generally discouraged as it can be extracted and potentially misused, even for client-side OAuth flows. However, for local/personal use, the risk is mitigated by user consent. User tokens are stored securely in `~/Claude/.security/gdrive-token.json` with restricted permissions (0o600). Authentication uses a local callback server on `localhost:3035`, which is a standard and relatively secure practice for OAuth flows (PKCE). No 'eval' or obvious malicious patterns were found.
Updated: 2025-12-19GitHub
0
0
Medium Cost
andytango icon

puppeteer-mcp

by andytango

Sec4

Provides browser automation capabilities through Puppeteer for AI agents to interact with web pages, capture content, and perform various browser operations.

Setup Requirements

  • ⚠️Requires Node.js version 18 or higher to run.
  • ⚠️Puppeteer implicitly downloads a Chromium browser binary on first run, which requires sufficient disk space and network access.
  • ⚠️The default browser launch configuration uses `--no-sandbox`, which is a significant security risk if the server is not run within an isolated container or trusted environment.
Review RequiredView Analysis
The `evaluate` tool allows arbitrary JavaScript code execution via `new Function()`. If a malicious or compromised AI agent injects code, it could execute within the browser context. More critically, Puppeteer is launched with `--no-sandbox` which significantly reduces browser security. This makes the server vulnerable to host system compromise if not run within a highly isolated environment (e.g., a secure Docker container) as suggested in the README for remote deployments. No obvious hardcoded secrets were found in the truncated source.
Updated: 2025-12-03GitHub
0
0
Low Cost

An MCP server providing analytics tools, secured by Keycloak-based OAuth2 authentication.

Setup Requirements

  • ⚠️Requires a running Keycloak server, configured with a specific realm, client, and custom scopes (`mcp:tools`, `mcp:resources`), as detailed in `docker/keycloak/KEYCLOAK_SETUP_GUIDE.md`.
  • ⚠️Python 3.12 or newer is required.
  • ⚠️Authentication is disabled by default (`ENABLE_AUTH=false`); setting `OAUTH_CLIENT_SECRET` and `ENABLE_AUTH=true` is necessary for active authentication.
Verified SafeView Analysis
The `verify_token` function explicitly skips scope and audience validation ('no scope/audience validation needed for dev'), making authorization less robust for production use cases. Keycloak's `docker-compose.yml` uses default, insecure credentials ('admin'/'admin'), which should never be used in production. The system relies on correct configuration of `OAUTH_CLIENT_SECRET` via environment variables.
Updated: 2025-12-02GitHub
PreviousPage 554 of 713Next