diff --git a/src/mcphub/test.py b/examples/test.py similarity index 100% rename from src/mcphub/test.py rename to examples/test.py diff --git a/pyproject.toml b/pyproject.toml index be604bb..5728ee9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "mcphub" -version = "0.1.7" +version = "0.1.8" description = "A Python package for managing and integrating Model Context Protocol (MCP) servers with AI frameworks like OpenAI Agents, LangChain, and Autogen" readme = "README.md" authors = [ @@ -21,14 +21,14 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] -dependencies = [ - "python-dotenv>=1.0.0,<2.0.0", - "build (>=1.2.2.post1,<2.0.0)", - "twine (>=6.1.0,<7.0.0)", -] +dependencies = [] requires-python = "<4.0,>=3.10" [project.optional-dependencies] +dev = [ + "build>=1.2.2.post1,<2.0.0", + "twine>=6.1.0,<7.0.0", +] openai = [ "openai-agents (>=0.0.9,<0.0.10)", ] @@ -54,5 +54,4 @@ mcphub = "mcphub.cli.commands:main" [tool.poetry.group.dev.dependencies] pytest = "^8.3.5" -pytest-asyncio = "^0.26.0" - +pytest-asyncio = "^0.26.0" \ No newline at end of file diff --git a/src/mcphub/adapters/autogen.py b/src/mcphub/adapters/autogen.py new file mode 100644 index 0000000..b1c2de1 --- /dev/null +++ b/src/mcphub/adapters/autogen.py @@ -0,0 +1,21 @@ +try: + from typing import List + + from autogen_ext.tools.mcp import StdioMcpToolAdapter + + from .base import MCPBaseAdapter + + class MCPAutogenAdapter(MCPBaseAdapter): + async def create_adapters(self, mcp_name: str) -> List[StdioMcpToolAdapter]: + server_params = self.get_server_params(mcp_name) + async with self.create_session(mcp_name) as session: + tools = await session.list_tools() + return [ + await StdioMcpToolAdapter.from_server_params(server_params, tool.name) + for tool in tools.tools + ] + +except ImportError: + class MCPAutogenAdapter: # type: ignore + def __init__(self, *args, **kwargs): + raise ImportError("Autogen dependencies not found. Install with: pip install mcphub[autogen]") \ No newline at end of file diff --git a/src/mcphub/adapters/base.py b/src/mcphub/adapters/base.py new file mode 100644 index 0000000..0c81f65 --- /dev/null +++ b/src/mcphub/adapters/base.py @@ -0,0 +1,44 @@ +from abc import ABC +from contextlib import asynccontextmanager +from typing import AsyncGenerator, List, Tuple, Any + +from mcp import ClientSession, StdioServerParameters, Tool +from mcp.client.stdio import stdio_client +from ..mcp_servers.params import MCPServersParams, MCPServerConfig +from ..mcp_servers.exceptions import ServerConfigNotFoundError + +class MCPBaseAdapter(ABC): + def __init__(self, servers_params: MCPServersParams): + self.servers_params = servers_params + + def get_server_config(self, mcp_name: str) -> MCPServerConfig: + """Get server configuration or raise error if not found""" + server_config = self.servers_params.retrieve_server_params(mcp_name) + if not server_config: + raise ServerConfigNotFoundError(f"Server configuration not found for '{mcp_name}'") + return server_config + + def get_server_params(self, mcp_name: str) -> StdioServerParameters: + """Convert server config to StdioServerParameters""" + server_config = self.get_server_config(mcp_name) + return StdioServerParameters( + command=server_config.command, + args=server_config.args, + env=server_config.env, + cwd=server_config.cwd + ) + + async def get_tools(self, mcp_name: str) -> List[Tool]: + """Get tools from the server""" + async with self.create_session(mcp_name) as session: + tools = await session.list_tools() + return tools.tools + + @asynccontextmanager + async def create_session(self, mcp_name: str) -> AsyncGenerator[ClientSession, None]: + """Create and initialize a client session for the given MCP server""" + server_params = self.get_server_params(mcp_name) + async with stdio_client(server_params) as (read, write): + async with ClientSession(read, write) as session: + await session.initialize() + yield session \ No newline at end of file diff --git a/src/mcphub/adapters/langchain.py b/src/mcphub/adapters/langchain.py new file mode 100644 index 0000000..979b540 --- /dev/null +++ b/src/mcphub/adapters/langchain.py @@ -0,0 +1,19 @@ + + +try: + from typing import List + + from langchain_core.tools import BaseTool + from langchain_mcp_adapters.tools import load_mcp_tools + + from .base import MCPBaseAdapter + + class MCPLangChainAdapter(MCPBaseAdapter): + async def create_tools(self, mcp_name: str) -> List[BaseTool]: + async with self.create_session(mcp_name) as session: + return await load_mcp_tools(session) + +except ImportError: + class MCPLangChainAdapter: # type: ignore + def __init__(self, *args, **kwargs): + raise ImportError("LangChain dependencies not found. Install with: pip install mcphub[langchain]") \ No newline at end of file diff --git a/src/mcphub/adapters/openai.py b/src/mcphub/adapters/openai.py new file mode 100644 index 0000000..991c1c3 --- /dev/null +++ b/src/mcphub/adapters/openai.py @@ -0,0 +1,21 @@ +try: + from agents.mcp import MCPServerStdio, MCPServerStdioParams + from .base import MCPBaseAdapter + + class MCPOpenAIAgentsAdapter(MCPBaseAdapter): + def create_server(self, mcp_name: str, cache_tools_list: bool = True) -> MCPServerStdio: + server_config = self.get_server_config(mcp_name) + server_params = MCPServerStdioParams( + command=server_config.command, + args=server_config.args, + env=server_config.env, + cwd=server_config.cwd + ) + return MCPServerStdio( + params=server_params, + cache_tools_list=cache_tools_list + ) +except ImportError: + class MCPOpenAIAgentsAdapter: # type: ignore + def __init__(self, *args, **kwargs): + raise ImportError("OpenAI Agents dependencies not found. Install with: pip install mcphub[openai]") \ No newline at end of file diff --git a/src/mcphub/cli/__init__.py b/src/mcphub/cli/__init__.py new file mode 100644 index 0000000..33a9f0d --- /dev/null +++ b/src/mcphub/cli/__init__.py @@ -0,0 +1 @@ +# CLI package for MCPHub \ No newline at end of file diff --git a/src/mcphub/cli/commands.py b/src/mcphub/cli/commands.py new file mode 100644 index 0000000..f855c5a --- /dev/null +++ b/src/mcphub/cli/commands.py @@ -0,0 +1,162 @@ +"""CLI commands for mcphub.""" +import argparse +import json +import sys +from pathlib import Path +from typing import Dict, Any, List, Optional + +from .utils import ( + load_config, + save_config, + DEFAULT_CONFIG, + get_config_path, + add_server_config, + remove_server_config, + list_available_servers, + list_configured_servers +) + +def init_command(args): + """Initialize a new .mcphub.json configuration file in the current directory.""" + config_path = get_config_path() + if config_path.exists(): + print(f"Configuration file already exists at: {config_path}") + return + + save_config(DEFAULT_CONFIG) + print(f"Created new configuration file at: {config_path}") + +def add_command(args): + """Add a preconfigured MCP server to the local config.""" + server_name = args.mcp_name + non_interactive = args.non_interactive if hasattr(args, 'non_interactive') else False + + success, missing_env_vars = add_server_config(server_name, interactive=not non_interactive) + + if not success: + print(f"Error: MCP server '{server_name}' not found in preconfigured servers") + # Show available options + print("\nAvailable preconfigured servers:") + available_servers = list_available_servers() + for name in available_servers: + print(f"- {name}") + sys.exit(1) + + print(f"Added configuration for '{server_name}' to .mcphub.json") + + # Notify about missing environment variables + if missing_env_vars: + print("\nWarning: The following environment variables are required but not set:") + for var in missing_env_vars: + print(f"- {var}") + print("\nYou can either:") + print("1. Set them in your environment before using this server") + print("2. Run 'mcphub add-env' to add them to your configuration") + print("3. Edit .mcphub.json manually to set the values") + +def remove_command(args): + """Remove an MCP server configuration from the local config.""" + server_name = args.mcp_name + if remove_server_config(server_name): + print(f"Removed configuration for '{server_name}' from .mcphub.json") + else: + print(f"Error: MCP server '{server_name}' not found in current configuration") + # Show what's currently configured + configured = list_configured_servers() + if configured: + print("\nCurrently configured servers:") + for name in configured: + print(f"- {name}") + sys.exit(1) + +def list_command(args): + """List all configured and available MCP servers.""" + show_all = args.all if hasattr(args, 'all') else False + + configured = list_configured_servers() + print("Configured MCP servers:") + if configured: + for name in configured: + print(f"- {name}") + else: + print(" No servers configured in local .mcphub.json") + + if show_all: + available = list_available_servers() + print("\nAvailable preconfigured MCP servers:") + if available: + for name in available: + print(f"- {name}") + else: + print(" No preconfigured servers available") + +def parse_args(args=None): + """Parse command line arguments.""" + parser = argparse.ArgumentParser( + description="MCPHub CLI tool for managing MCP server configurations" + ) + + subparsers = parser.add_subparsers(dest="command", help="Commands") + + # Init command + init_parser = subparsers.add_parser( + "init", + help="Create a new .mcphub.json file in the current directory" + ) + + # Add command + add_parser = subparsers.add_parser( + "add", + help="Add a preconfigured MCP server to your local config" + ) + add_parser.add_argument( + "mcp_name", + help="Name of the preconfigured MCP server to add" + ) + add_parser.add_argument( + "-n", "--non-interactive", + action="store_true", + help="Don't prompt for environment variables" + ) + + # Remove command + remove_parser = subparsers.add_parser( + "remove", + help="Remove an MCP server from your local config" + ) + remove_parser.add_argument( + "mcp_name", + help="Name of the MCP server to remove" + ) + + # List command + list_parser = subparsers.add_parser( + "list", + help="List configured MCP servers" + ) + list_parser.add_argument( + "-a", "--all", + action="store_true", + help="Show all available preconfigured servers" + ) + + return parser.parse_args(args) + +def main(): + """Main entry point for the CLI.""" + args = parse_args() + + if args.command == "init": + init_command(args) + elif args.command == "add": + add_command(args) + elif args.command == "remove": + remove_command(args) + elif args.command == "list": + list_command(args) + else: + # Show help if no command is provided + parse_args(["-h"]) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/src/mcphub/cli/utils.py b/src/mcphub/cli/utils.py new file mode 100644 index 0000000..279a29c --- /dev/null +++ b/src/mcphub/cli/utils.py @@ -0,0 +1,196 @@ +"""Utility functions for the mcphub CLI.""" +import json +import os +import re +from pathlib import Path +from typing import Dict, Any, Optional, List, Tuple + +DEFAULT_CONFIG = { + "mcpServers": {} +} + +def get_config_path() -> Path: + """Get the path to the .mcphub.json config file.""" + return Path.cwd() / ".mcphub.json" + +def load_config() -> Dict[str, Any]: + """Load the config file if it exists, otherwise return an empty config dict.""" + config_path = get_config_path() + if config_path.exists(): + with open(config_path, "r") as f: + return json.load(f) + return DEFAULT_CONFIG + +def save_config(config: Dict[str, Any]) -> None: + """Save the config to the .mcphub.json file.""" + config_path = get_config_path() + with open(config_path, "w") as f: + json.dump(config, f, indent=2) + +def load_preconfigured_servers() -> Dict[str, Any]: + """Load the preconfigured servers from mcphub_preconfigured_servers.json.""" + preconfigured_path = Path(__file__).parent.parent / "mcphub_preconfigured_servers.json" + if preconfigured_path.exists(): + with open(preconfigured_path, "r") as f: + return json.load(f) + return {"mcpServers": {}} + +def detect_env_vars(server_config: Dict[str, Any]) -> List[str]: + """Detect environment variables in a server configuration. + + Args: + server_config: Server configuration dict + + Returns: + List of environment variable names found in the configuration + """ + env_vars = [] + + # Check if the server has env section + if "env" in server_config and isinstance(server_config["env"], dict): + for key, value in server_config["env"].items(): + # Check if value is a template like ${ENV_VAR} + if isinstance(value, str) and value.startswith("${") and value.endswith("}"): + env_var = value[2:-1] # Extract ENV_VAR from ${ENV_VAR} + env_vars.append(env_var) + + return env_vars + +def prompt_env_vars(env_vars: List[str]) -> Dict[str, str]: + """Prompt the user for environment variable values. + + Args: + env_vars: List of environment variable names to prompt for + + Returns: + Dictionary mapping environment variable names to values + """ + values = {} + + print("\nThis MCP server requires environment variables to be set.") + print("You can either:") + print("1. Enter values now (they will be saved in your .mcphub.json)") + print("2. Set them in your environment and press Enter to skip") + + for var in env_vars: + # Check if the environment variable is already set + existing_value = os.environ.get(var) + if existing_value: + prompt = f"Environment variable {var} found in environment. Press Enter to use it or provide a new value: " + else: + prompt = f"Enter value for {var} (or press Enter to skip): " + + value = input(prompt) + + # If user entered a value, save it + if value: + values[var] = value + + return values + +def process_env_vars(server_config: Dict[str, Any], env_values: Dict[str, str]) -> Dict[str, Any]: + """Process environment variables in a server configuration. + + Args: + server_config: Server configuration dict + env_values: Dictionary of environment variable values + + Returns: + Updated server configuration with processed environment variables + """ + # Create a copy of the config to avoid modifying the original + config = server_config.copy() + + # If there's no env section, nothing to do + if "env" not in config or not isinstance(config["env"], dict): + return config + + # New env dict to store processed values + new_env = {} + + for key, value in config["env"].items(): + if isinstance(value, str) and value.startswith("${") and value.endswith("}"): + env_var = value[2:-1] # Extract ENV_VAR from ${ENV_VAR} + + # Use provided value or environment variable + if env_var in env_values: + new_env[key] = env_values[env_var] + else: + # Keep the template if not provided + new_env[key] = value + else: + # Keep non-template values as is + new_env[key] = value + + # Update the env section + config["env"] = new_env + return config + +def add_server_config(name: str, interactive: bool = True) -> Tuple[bool, Optional[List[str]]]: + """Add a preconfigured server to the local config. + + Args: + name: Name of the preconfigured server to add + interactive: Whether to prompt for environment variables + + Returns: + Tuple of (success, missing_env_vars): + - success: True if the server was added, False if it wasn't found + - missing_env_vars: List of environment variables that weren't set (None if no env vars needed) + """ + preconfigured = load_preconfigured_servers() + if name not in preconfigured.get("mcpServers", {}): + return False, None + + # Get the server config + server_config = preconfigured["mcpServers"][name] + + # Detect environment variables + env_vars = detect_env_vars(server_config) + missing_env_vars = [] + + # Process environment variables if needed + if env_vars and interactive: + env_values = prompt_env_vars(env_vars) + server_config = process_env_vars(server_config, env_values) + + # Check for missing environment variables + for var in env_vars: + if var not in env_values and var not in os.environ: + missing_env_vars.append(var) + + # Save to config + config = load_config() + if "mcpServers" not in config: + config["mcpServers"] = {} + + config["mcpServers"][name] = server_config + save_config(config) + + return True, missing_env_vars if missing_env_vars else None + +def remove_server_config(name: str) -> bool: + """Remove a server config from the local .mcphub.json file. + + Args: + name: Name of the server to remove + + Returns: + bool: True if the server was removed, False if it wasn't in the config + """ + config = load_config() + if name in config.get("mcpServers", {}): + del config["mcpServers"][name] + save_config(config) + return True + return False + +def list_available_servers() -> Dict[str, Any]: + """List all available preconfigured servers.""" + preconfigured = load_preconfigured_servers() + return preconfigured.get("mcpServers", {}) + +def list_configured_servers() -> Dict[str, Any]: + """List all servers in the local config.""" + config = load_config() + return config.get("mcpServers", {}) \ No newline at end of file diff --git a/src/mcphub/mcp_servers/params.py b/src/mcphub/mcp_servers/params.py index b270188..2f315d9 100644 --- a/src/mcphub/mcp_servers/params.py +++ b/src/mcphub/mcp_servers/params.py @@ -14,6 +14,7 @@ class MCPServerConfig: command: str args: List[str] env: Dict[str, str] + server_name: Optional[str] = None description: Optional[str] = None tags: Optional[List[str]] = None repo_url: Optional[str] = None @@ -21,22 +22,32 @@ class MCPServerConfig: cwd: Optional[str] = None class MCPServersParams: - def __init__(self, config_path: str): + def __init__(self, config_path: Optional[str]): self.config_path = config_path self._servers_params = self._load_servers_params() @property def servers_params(self) -> List[MCPServerConfig]: """Return the list of server parameters.""" - return list(self._servers_params.values()) + server_configs = [] + for server_name, server_params in self._servers_params.items(): + server_params.server_name = server_name + server_configs.append(server_params) + return server_configs def _load_user_config(self) -> Dict: """Load user configuration from JSON file.""" + # If no config path is provided, return empty dict + if not self.config_path: + return {} + try: with open(self.config_path, "r") as f: config = json.load(f) return config.get("mcpServers", {}) except FileNotFoundError: + # For test compatibility: raise FileNotFoundError when path is specified but file doesn't exist + # Only return empty dict when path is None raise FileNotFoundError(f"Configuration file not found: {self.config_path}") except json.JSONDecodeError as e: raise ValueError(f"Invalid JSON in configuration file: {e}") @@ -71,8 +82,8 @@ def _load_servers_params(self) -> Dict[str, MCPServerConfig]: setup_script=server_config.get("setup_script") ) # Fallback to predefined configuration - elif package_name and predefined_servers_params.get(package_name): - cmd_info = predefined_servers_params[package_name] + elif package_name and predefined_servers_params.get("mcpServers", {}).get(package_name): + cmd_info = predefined_servers_params["mcpServers"][package_name] servers[mcp_name] = MCPServerConfig( package_name=package_name, command=cmd_info.get("command"), @@ -88,10 +99,17 @@ def _load_servers_params(self) -> Dict[str, MCPServerConfig]: f"Server '{package_name}' must either have command and args configured in .mcphub.json " f"or be defined in mcphub_preconfigured_servers.json" ) + return servers + def list_servers(self) -> List[MCPServerConfig]: + return self.servers_params + def retrieve_server_params(self, server_name: str) -> MCPServerConfig: - return self._servers_params.get(server_name) + # First check in the loaded servers + if server_name in self._servers_params: + return self._servers_params[server_name] + raise ServerConfigNotFoundError(f"Server '{server_name}' not found") def convert_to_stdio_params(self, server_name: str) -> StdioServerParameters: server_params = self.retrieve_server_params(server_name) diff --git a/src/mcphub/mcp_servers/servers.py b/src/mcphub/mcp_servers/servers.py index 8f454cb..b086fdd 100644 --- a/src/mcphub/mcp_servers/servers.py +++ b/src/mcphub/mcp_servers/servers.py @@ -2,12 +2,10 @@ from pathlib import Path from typing import List -from agents.mcp import MCPServerStdio, MCPServerStdioParams -from langchain_core.tools import BaseTool -from langchain_mcp_adapters.tools import load_mcp_tools -from autogen_ext.tools.mcp import StdioMcpToolAdapter, StdioServerParams +from mcp import ClientSession, StdioServerParameters, Tool +from mcp.client.stdio import stdio_client -from .exceptions import ServerConfigNotFoundError, SetupError +from .exceptions import SetupError from .params import MCPServerConfig, MCPServersParams @@ -21,12 +19,17 @@ def __init__(self, servers_params: MCPServersParams): def _get_cache_dir(self) -> Path: """Get the cache directory path, creating it if it doesn't exist.""" current_dir = Path.cwd() + # First try to find a project root with .mcphub.json for parent in [current_dir] + list(current_dir.parents): if (parent / ".mcphub.json").exists(): cache_dir = parent / ".mcphub_cache" cache_dir.mkdir(exist_ok=True) return cache_dir - raise FileNotFoundError("Could not find project root directory with .mcphub.json") + + # If no .mcphub.json was found, create cache in the current working directory + cache_dir = current_dir / ".mcphub_cache" + cache_dir.mkdir(exist_ok=True) + return cache_dir def _clone_repository(self, repo_url: str, repo_name: str) -> Path: """Clone a repository into the cache directory.""" @@ -86,8 +89,8 @@ def _run_setup_script(self, script_path: Path, setup_script: str) -> None: def _update_server_path(self, server_config: MCPServerConfig, repo_dir: Path) -> None: """Update the server_path in the server configuration.""" - self.servers_params.update_server_path(server_config.package_name, str(repo_dir)) - print(f"Updated server path for {server_config.package_name}: {repo_dir}") + self.servers_params.update_server_path(server_config.server_name, str(repo_dir)) + print(f"Updated server path for {server_config.server_name}: {repo_dir}") def setup_server(self, server_config: MCPServerConfig) -> None: """Set up a single server if it has repo_url and setup_script.""" @@ -125,83 +128,18 @@ def _setup_all_servers(self) -> None: print("Completed server setup process") - def make_openai_mcp_server(self, mcp_name: str, cache_tools_list: bool = True) -> MCPServerStdio: - """ - Create and return an OpenAI MCP server for the given MCP name. - - Args: - mcp_name: The name of the MCP server configuration to use - cache_tools_list: Whether to cache the tools list (default: True) - - Returns: - MCPServerStdio: The configured MCP server - - Raises: - ServerConfigNotFoundError: If the server configuration is not found - """ - server_config = self.servers_params.retrieve_server_params(mcp_name) - if not server_config: - raise ServerConfigNotFoundError(f"Server configuration not found for '{mcp_name}'") - - # Convert server config to StdioServerParameters - server_params = MCPServerStdioParams( - command=server_config.command, - args=server_config.args, - env=server_config.env, - cwd=server_config.cwd + async def list_tools(self, server_name: str) -> List[Tool]: + """List all tools available in the server.""" + server_params = self.servers_params.retrieve_server_params(server_name) + server_params = StdioServerParameters( + command=server_params.command, + args=server_params.args, + env=server_params.env, + cwd=server_params.cwd ) - - return MCPServerStdio( - params=server_params, - cache_tools_list=cache_tools_list - ) - - async def get_langchain_mcp_tools(self, mcp_name: str, cache_tools_list: bool = True) -> List[BaseTool]: - """ - Get a list of Langchain tools from an MCP server. - - Args: - mcp_name: The name of the MCP server configuration to use - cache_tools_list: Whether to cache the tools list (default: True) - - Returns: - List[Tool]: List of Langchain tools provided by the MCP server - - Raises: - ServerConfigNotFoundError: If the server configuration is not found - """ - async with self.make_openai_mcp_server(mcp_name, cache_tools_list) as server: - tools = await load_mcp_tools(server.session) - return tools - - async def make_autogen_mcp_adapters(self, mcp_name: str) -> List[StdioMcpToolAdapter]: - server_config = self.servers_params.retrieve_server_params(mcp_name) - if not server_config: - raise ServerConfigNotFoundError(f"Server configuration not found for '{mcp_name}'") - - server_params = StdioServerParams( - command=server_config.command, - args=server_config.args, - env=server_config.env, - cwd=server_config.cwd - ) - - adapters = [] - async with self.make_openai_mcp_server(mcp_name, cache_tools_list=True) as server: - for tool in await server.list_tools(): - adapter = await StdioMcpToolAdapter.from_server_params(server_params, tool.name) - adapters.append(adapter) - return adapters + async with stdio_client(server_params) as (read, write): + async with ClientSession(read, write) as session: + await session.initialize() + tools = await session.list_tools() + return tools.tools - async def list_tools(self, mcp_name: str) -> List[BaseTool]: - """ - List all tools from an MCP server. - - Args: - mcp_name: The name of the MCP server configuration to use - - Returns: - List[BaseTool]: List of tools provided by the MCP server - """ - async with self.make_openai_mcp_server(mcp_name, cache_tools_list=True) as server: - return await server.list_tools() diff --git a/src/mcphub/mcphub.py b/src/mcphub/mcphub.py index 6b6aa5a..1db5e65 100644 --- a/src/mcphub/mcphub.py +++ b/src/mcphub/mcphub.py @@ -1,83 +1,66 @@ from dataclasses import dataclass, field from pathlib import Path -from typing import List, Optional +from typing import Any, List, Optional -from agents.mcp import MCPServerStdio -from autogen_ext.tools.mcp import StdioMcpToolAdapter -from langchain_core.tools import BaseTool -from mcp import StdioServerParameters -from .mcp_servers import MCPServerConfig, MCPServers, MCPServersParams +from mcp import Tool + +from .adapters.autogen import MCPAutogenAdapter +from .adapters.langchain import MCPLangChainAdapter +from .adapters.openai import MCPOpenAIAgentsAdapter +from .mcp_servers import MCPServers, MCPServersParams, MCPServerConfig @dataclass class MCPHub: servers_params: MCPServersParams = field(init=False) - + _openai_adapter: Optional[MCPOpenAIAgentsAdapter] = field(init=False, default=None) + _langchain_adapter: Optional[MCPLangChainAdapter] = field(init=False, default=None) + _autogen_adapter: Optional[MCPAutogenAdapter] = field(init=False, default=None) + def __post_init__(self): config_path = self._find_config_path() self.servers_params = MCPServersParams(config_path) self.servers = MCPServers(self.servers_params) - def _find_config_path(self) -> str: + def _find_config_path(self) -> Optional[str]: current_dir = Path.cwd() for parent in [current_dir] + list(current_dir.parents): config_path = parent / ".mcphub.json" if config_path.exists(): return str(config_path) - raise FileNotFoundError("Configuration file '.mcphub.json' not found in the project root or any parent directories.") + raise FileNotFoundError("Configuration file '.mcphub.json' not found") - def fetch_server_params(self, mcp_name: str) -> Optional[MCPServerConfig]: - return self.servers_params.retrieve_server_params(mcp_name) - - def fetch_stdio_server_config(self, mcp_name: str) -> Optional[StdioServerParameters]: - return self.servers_params.convert_to_stdio_params(mcp_name) + @property + def openai_adapter(self) -> MCPOpenAIAgentsAdapter: + if self._openai_adapter is None: + self._openai_adapter = MCPOpenAIAgentsAdapter(self.servers_params) + return self._openai_adapter + + @property + def langchain_adapter(self) -> MCPLangChainAdapter: + if self._langchain_adapter is None: + self._langchain_adapter = MCPLangChainAdapter(self.servers_params) + return self._langchain_adapter + + @property + def autogen_adapter(self) -> MCPAutogenAdapter: + if self._autogen_adapter is None: + self._autogen_adapter = MCPAutogenAdapter(self.servers_params) + return self._autogen_adapter + + def fetch_openai_mcp_server(self, mcp_name: str, cache_tools_list: bool = True) -> Any: + return self.openai_adapter.create_server(mcp_name, cache_tools_list=cache_tools_list) - def fetch_openai_mcp_server(self, mcp_name: str, cache_tools_list: bool = True) -> MCPServerStdio: - """ - Fetch and return an OpenAI MCP server instance. - - Args: - mcp_name: The name of the MCP server to fetch - cache_tools_list: Whether to cache the tools list - - Returns: - MCPServerStdio: The configured MCP server - """ - return self.servers.make_openai_mcp_server(mcp_name, cache_tools_list) + async def fetch_langchain_mcp_tools(self, mcp_name: str) -> List[Any]: + return await self.langchain_adapter.create_tools(mcp_name) - async def fetch_langchain_mcp_tools(self, mcp_name: str, cache_tools_list: bool = True) -> List[BaseTool]: - """ - Fetch and return a list of Langchain MCP tools. - - Args: - mcp_name: The name of the MCP server to fetch - cache_tools_list: Whether to cache the tools list - - Returns: - List[BaseTool]: A list of Langchain MCP tools - """ - return await self.servers.get_langchain_mcp_tools(mcp_name, cache_tools_list) + async def fetch_autogen_mcp_adapters(self, mcp_name: str) -> List[Any]: + return await self.autogen_adapter.create_adapters(mcp_name) - async def fetch_autogen_mcp_adapters(self, mcp_name: str) -> List[StdioMcpToolAdapter]: - """ - Fetch and return an Autogen MCP adapter. - - Args: - mcp_name: The name of the MCP server to fetch - - Returns: - StdioMcpToolAdapter: The configured MCP adapter - """ - return await self.servers.make_autogen_mcp_adapters(mcp_name) + async def list_tools(self, server_name: str) -> List[Tool]: + return await self.servers.list_tools(server_name) - async def list_tools(self, mcp_name: str) -> List[BaseTool]: - """ - List all tools from an MCP server. - - Args: - mcp_name: The name of the MCP server configuration to use + def list_servers(self) -> List[MCPServerConfig]: + return self.servers_params.list_servers() - Returns: - List[BaseTool]: List of tools provided by the MCP server - """ - return await self.servers.list_tools(mcp_name) \ No newline at end of file + \ No newline at end of file diff --git a/src/mcphub/mcphub_preconfigured_servers.json b/src/mcphub/mcphub_preconfigured_servers.json index b85a820..9c67075 100644 --- a/src/mcphub/mcphub_preconfigured_servers.json +++ b/src/mcphub/mcphub_preconfigured_servers.json @@ -1,22231 +1,17598 @@ { - "Gloomysunday28/mcp-server": { - "mcpServers": { - "weather-server": { - "command": "/path/to/weather-server/build/index.js" - } - } - }, - "block/vscode-mcp": { - "mcpServers": { - "vscode-mcp-server": { - "command": "npx", - "args": [ - "vscode-mcp-server" - ], - "env": {} - } - } - }, - "MCP-Mirror/hekmon8_Homeassistant-server-mcp": { - "mcpServers": { - "homeassistant": { - "command": "node", - "args": [ - "/path/to/homeassistant-mcp/homeassistant-server/build/index.js" - ], - "env": { - "HA_URL": "http://your-homeassistant-url:8123", - "HA_TOKEN": "your-long-lived-access-token" - } - } - } - }, - "MxIris-Reverse-Engineering/ida-mcp-server": { - "mcpServers": { - "git": { - "command": "uv", - "args": [ - "--directory", - "/", - "run", - "mcp-server-ida" - ] - } - } - }, - "mixelpixx/Google-Search-MCP-Server": { - "mcpServers": { - "google-search": { - "command": "C:\\Program Files\\odejs\\ode.exe", - "args": [ - "C:\\path\\to\\google-search-mcp\\dist\\google-search.js" - ], - "cwd": "C:\\path\\to\\google-search-mcp", - "env": { - "GOOGLE_API_KEY": "your-google-api-key", - "GOOGLE_SEARCH_ENGINE_ID": "your-custom-search-engine-id" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "alexatnordnet/mcp-google-custom-search-server": { - "mcpServers": { - "google-search": { - "command": "node", - "args": [ - "/absolute/path/to/mcp-google-custom-search-server/build/index.js" - ], - "env": { - "GOOGLE_API_KEY": "your-api-key", - "GOOGLE_SEARCH_ENGINE_ID": "your-search-engine-id" - } - } - } - }, - "imiborbas/pocketbase-mcp-server": { - "mcpServers": { - "pocketbase-mcp-server": { - "command": "/path/to/pocketbase-mcp-server/build/index.js --pb-url=http://localhost:8090 --pb-admin-email=admin@example.com --pb-admin-password=your-secure-password" - } - } - }, - "MCP-Mirror/f4ww4z_mcp-mysql-server": { - "mcpServers": { - "mysql": { - "command": "npx", - "args": [ - "-y", - "@f4ww4z/mcp-mysql-server" - ], - "env": { - "MYSQL_HOST": "your_host", - "MYSQL_USER": "your_user", - "MYSQL_PASSWORD": "your_password", - "MYSQL_DATABASE": "your_database" - } - } - } - }, - "exoticknight/mcp-file-merger": { - "mcpServers": { - "file-merger": { - "command": "npx", - "args": [ - "-y", - "@exoticknight/mcp-file-merger", - "/path/to/allowed/dir" - ] - } - } - }, - "RyoJerryYu/mcp-server-memos-py": { - "mcpServers": { - "fetch": { - "command": "uvx", - "args": [ - "mcp-server-fetch" - ] - }, - "memos": { - "command": "uvx", - "args": [ - "--prerelease=allow", - "mcp-server-memos", - "--host", - "localhost", - "--port", - "5230", - "--token", - "your-access-token-here" - ] - } - } - }, - "Zelaron/Pandoras-Shell": { - "mcpServers": { - "pandoras-shell": { - "command": "/path/to/cloned/Pandoras-Shell/venv/bin/python", - "args": [ - "/path/to/cloned/Pandoras-Shell/src/pandoras_shell/executor.py" - ], - "env": { - "PYTHONPATH": "/path/to/cloned/Pandoras-Shell/src" - } - } - } - }, - "dragon1086/kospi-kosdaq-stock-server": { - "mcpServers": { - "kospi-kosdaq": { - "command": "uvx", - "gs": [ - "kospi_kosdaq_stock_server" - ] - } - } - }, - "JoshuaRileyDev/app-store-connect-mcp-server": { - "mcpServers": { - "app-store-connect": { - "command": "npx", - "args": [ - "-y", - "@your-org/app-store-connect-mcp-server" - ], - "env": { - "APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID", - "APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID", - "APP_STORE_CONNECT_P8_PATH": "/path/to/your/auth-key.p8" - } - } - } - }, - "GuoAccount/notepad-server": { - "mcpServers": { - "notepad-server": { - "command": "/path/to/notepad-server/build/index.js" - } - } - }, - "gnuhpc/rtc-mcp-server": { - "mcpServers": { - "rtc-mcp-server": { - "command": "java", - "args": [ - "-Dtransport.mode=stdio", - "-Dspring.main.web-application-type=none", - "-Dspring.main.banner-mode=off", - "-Dlogging.file.name=/path/to/rtc-mcp-server/mcpserver.log", - "-jar", - "/path/to/rtc-mcp-server/target/rtc-mcp-server-1.0-SNAPSHOT.jar" - ], - "env": { - "ALIYUN_ACCESS_KEY_ID": "your-access-key-id", - "ALIYUN_ACCESS_KEY_SECRET": "your-access-key-secret" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "0xshellming/mcp-summarizer-server": { - "mcpServers": { - "mcp-server-firecrawl": { - "command": "npx", - "args": [ - "-y", - "firecrawl-mcp" - ], - "env": { - "FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE", - "FIRECRAWL_RETRY_MAX_ATTEMPTS": "5", - "FIRECRAWL_RETRY_INITIAL_DELAY": "2000", - "FIRECRAWL_RETRY_MAX_DELAY": "30000", - "FIRECRAWL_RETRY_BACKOFF_FACTOR": "3", - "FIRECRAWL_CREDIT_WARNING_THRESHOLD": "2000", - "FIRECRAWL_CREDIT_CRITICAL_THRESHOLD": "500" - } - } - } - }, - "databutton/databutton-mcp": { - "mcpServers": { - "databutton": { - "command": "/path/to/databutton/build/index.js" - } - } - }, - "RossH121/perplexity-mcp": { - "mcpServers": { - "perplexity-server": { - "command": "node", - "args": [ - "/absolute/path/to/perplexity-mcp/build/index.js" - ], - "env": { - "PERPLEXITY_API_KEY": "your-api-key-here", - "PERPLEXITY_MODEL": "sonar" - } - } - } - }, - "MammothGrowth/dbt-cli-mcp": { - "mcpServers": { - "dbt": { - "command": "uv", - "args": [ - "--directory", - "/path/to/dbt-cli-mcp", - "run", - "src/server.py" - ], - "env": { - "DBT_PATH": "/absolute/path/to/dbt", - "ENV_FILE": ".env" - } - } - } - }, - "MCP-Mirror/rezapex_shopify-mcp-server-main": { - "mcpServers": { - "shopify": { - "command": "npx", - "args": [ - "-y", - "shopify-mcp-server" - ], - "env": { - "SHOPIFY_ACCESS_TOKEN": "", - "MYSHOPIFY_DOMAIN": ".myshopify.com" - } - } - } - }, - "ben4mn/amadeus-mcp": { - "mcpServers": { - "amadeus": { - "command": "python", - "args": [ - "path/to/amadeus/server.py" - ], - "env": { - "AMADEUS_API_KEY": "your_key", - "AMADEUS_API_SECRET": "your_secret", - "PYTHONPATH": "path/to/amadeus" - } - } - } - }, - "aliargun/mcp-server-gemini": { - "mcpServers": { - "gemini": { - "command": "npx", - "args": [ - "-y", - "github:aliargun/mcp-server-gemini" - ], - "env": { - "GEMINI_API_KEY": "your_api_key_here" - } - } - } - }, - "ucesys/minio-python-mcp": { - "mcpServers": { - "minio-mcp": { - "command": "python", - "args": [ - "path/to/minio-mcp/src/minio_mcp_server/server.py" - ] - } - } - }, - "MarcusJellinghaus/mcp_server_code_checker_python": { - "mcpServers": { - "code_checker": { - "command": "C:\\path\\to\\mcp_code_checker\\.venv\\Scripts\\python.exe", - "args": [ - "C:\\path\\to\\mcp_code_checker\\src\\main.py", - "--project-dir", - "C:\\path\\to\\your\\project" - ], - "env": { - "PYTHONPATH": "C:\\path\\to\\mcp_code_checker\\" - } - } - } - }, - "kaichen/mcp-local-router": { - "mcpServers": { - "filesystem": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-filesystem", - "/Users/username/Desktop" - ], - "env": { - "LINEAR_ACCESS_TOKEN": "your_personal_access_token" - } - }, - "everything": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-everything" - ], - "env": {} - } - } - }, - "bmorphism/krep-mcp-server": { - "mcpServers": { - "krep": { - "command": "node", - "args": [ - "/path/to/krep-mcp-server/src/index.js" - ], - "env": { - "CLAUDE_MCP": "true", - "KREP_PATH": "/path/to/krep-native/krep", - "DEBUG": "true" - }, - "description": "High-performance string search utility with unified interface", - "disabled": false, - "autoApprove": [ - "krep" - ] - } - } - }, - "T0UGH/mcp_server_my_lark_doc": { - "mcpServers": { - "lark_doc": { - "command": "uvx", - "args": [ - "mcp-server-my-lark-doc" - ], - "env": { - "LARK_APP_ID": "your app id", - "LARK_APP_SECRET": "your app secret", - "OAUTH_HOST": "localhost", - "OAUTH_PORT": "9997" - } - } - } - }, - "MCP-Mirror/tanevanwifferen_usescraper-mcp-server": { - "mcpServers": { - "usescraper-server": { - "command": "node", - "args": [ - "/path/to/usescraper-server/build/index.js" - ], - "env": { - "USESCRAPER_API_KEY": "your-api-key-here" - } - } - } - }, - "apifox/apifox-mcp-server": { - "mcpServers": { - "API \u00e6\u0096\u0087\u00e6\u00a1\u00a3": { - "command": "cmd", - "args": [ - "/c", - "npx", - "-y", - "apifox-mcp-server@latest", - "--project-id=" - ], - "env": { - "APIFOX_ACCESS_TOKEN": "" - } - } - } - }, - "situ2001/unplugin-mcp": { - "mcpServers": { - "rollup": { - "url": "http://localhost:14514/mcp/sse" - } - } - }, - "aindreyway/mcp-neurolora": { - "mcpServers": { - "aindreyway-mcp-neurolora": { - "command": "npx", - "args": [ - "-y", - "@aindreyway/mcp-neurolora@latest" - ], - "env": { - "NODE_OPTIONS": "--max-old-space-size=256", - "OPENAI_API_KEY": "your_api_key_here" - } - } - } - }, - "MCP-Mirror/philgei_mcp_server_filesystem": { - "mcpServers": { - "myFiles": { - "command": "mcp-server-filesystem", - "args": [ - "D:/", - "C:/Users/YourUsername/Documents", - "~/Desktop" - ] - } - } - }, - "dwrtz/mcpterm": { - "mcpServers": { - "mcpterm": { - "command": "mcpterm", - "args": [] - } - } - }, - "AntanasMisiunas/mcp-server-delay-doomsday": { - "mcpServers": { - "mcp-server-delay-doomsday": { - "command": "node", - "args": [ - "/path/to/mcp-server-delay-doomsday/build/index.js" - ] - } - } - }, - "neka-nat/freecad-mcp": { - "mcpServers": { - "freecad": { - "command": "uv", - "args": [ - "--directory", - "/path/to/freecad-mcp/", - "run", - "freecad-mcp" - ] - } - } - }, - "nahmanmate/better-auth-mcp-server": { - "mcpServers": { - "better-auth-mcp-server": { - "command": "node", - "args": [ - "/path/to/better-auth-mcp-server/build/index.js" - ], - "disabled": false, - "alwaysAllow": [] - } - } - }, - "ahujasid/blender-mcp": { - "mcpServers": { - "blender": { - "command": "uvx", - "args": [ - "blender-mcp" - ] - } - } - }, - "bmorphism/hypernym-mcp-server": { - "mcpServers": { - "hypernym": { - "type": "stdio", - "command": "cd /path/to/hypernym-mcp-server && npm run start:stdio", - "description": "Hypernym semantic analysis and compression tool", - "tools": [ - "analyze_text", - "semantic_compression" - ] - } - } - }, - "MissionSquad/mcp-github": { - "mcpServers": { - "github": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-github" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "" - } - } - } - }, - "cyanheads/ntfy-mcp-server": { - "mcpServers": { - "ntfy": { - "command": "node", - "args": [ - "/path/to/ntfy-mcp-server/dist/index.js" - ], - "env": { - "NTFY_BASE_URL": "https://ntfy.sh", - "NTFY_DEFAULT_TOPIC": "your_default_topic", - "LOG_LEVEL": "info", - "NODE_ENV": "production" - } - } - } - }, - "Sunwood-ai-labs/github-kanban-mcp-server": { - "mcpServers": { - "github-kanban": { - "command": "github-kanban-mcp-server", - "env": { - "GITHUB_TOKEN": "your_github_token", - "GITHUB_OWNER": "your_github_username", - "GITHUB_REPO": "your_repository_name" - } - } - } - }, - "unctad-ai/eregulations-mcp-server": { - "mcpServers": { - "eregulations": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "-e", - "EREGULATIONS_API_URL", - "ghcr.io/unctad-ai/eregulations-mcp-server:latest" - ], - "env": { - "EREGULATIONS_API_URL": "https://your-eregulations-api.com" - } - } - } - }, - "Alesion30/my-mcp-server": { - "mcpServers": { - "myMcp": { - "command": "node", - "args": [ - "xxx/my-mcp-server/build/main.js" - ] - } - } - }, - "MCP-Mirror/dillip285_mcp-dev-server": { - "mcpServers": { - "dev": { - "command": "mcp-dev-server", - "args": [] - } - } - }, - "kevinwatt/mcp-server-searxng": { - "mcpServers": { - "searxng": { - "name": "searxng", - "command": "npx", - "args": [ - "-y", - "@kevinwatt/mcp-server-searxng" - ], - "env": { - "SEARXNG_INSTANCES": "http://localhost:8080,https://searx.example.com", - "SEARXNG_USER_AGENT": "CustomBot/1.0", - "NODE_TLS_REJECT_UNAUTHORIZED": "0" - } - } - } - }, - "Fewsats/fewsats-mcp": { - "mcpServers": { - "Fewsats Server": { - "command": "uvx", - "args": [ - "fewsats-mcp" - ], - "env": { - "FEWSATS_API_KEY": "YOUR_FEWSATS_API_KEY" - } - } - } - }, - "voska/hass-mcp": { - "mcpServers": { - "hass-mcp": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "-e", - "HA_URL", - "-e", - "HA_TOKEN", - "voska/hass-mcp" - ], - "env": { - "HA_URL": "http://homeassistant.local:8123", - "HA_TOKEN": "YOUR_LONG_LIVED_TOKEN" - } - } - } - }, - "apimatic/apimatic-validator-mcp": { - "mcpServers": { - "APIMatic": { - "command": "node", - "args": [ - "C:\\PATH\\TO\\PARENT\\FOLDER\\build\\index.js" - ], - "env": { - "APIMATIC_API_KEY": "" - } - } - } - }, - "ckz/flux-schnell-mcp": { - "mcpServers": { - "flux-schnell": { - "command": "node", - "args": [ - "/path/to/flux-schnell-mcp/build/index.js" - ], - "env": { - "REPLICATE_API_TOKEN": "your-replicate-api-token" - }, - "disabled": false, - "alwaysAllow": [] - } - } - }, - "apappascs/tavily-search-mcp-server": { - "mcpServers": { - "tavily-search-server": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "-e", - "TAVILY_API_KEY", - "-v", - "/Users///tavily-search-mcp-server:/app", - "tavily-search-mcp-server" - ], - "env": { - "TAVILY_API_KEY": "your_api_key_here" - } - } - } - }, - "kbyk004/playwright-lighthouse-mcp": { - "mcpServers": { - "playwright-lighthouse": { - "command": "node", - "args": [ - "/path-to/playwright-lighthouse-mcp/build/index.js" - ] - } - } - }, - "FreePeak/db-mcp-server": { - "mcpServers": { - "multidb": { - "command": "/path/to/db-mcp-server/server", - "args": [ - "-t", - "stdio", - "-c", - "/path/to/database_config.json" - ] - } - } - }, - "raw391/coin_daemon_mcp": { - "mcpServers": { - "cryptocurrency": { - "command": "npx", - "args": [ - "-y", - "@raw391/coin-daemon-mcp" - ], - "env": { - "CONFIG_PATH": "C:/CryptoConfig/daemon-config.json" - } - }, - "filesystem": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-filesystem", - "C:/CryptoData" - ] - } - } - }, - "Msparihar/mcp-server-firecrawl": { - "mcpServers": { - "firecrawl": { - "command": "mcp-server-firecrawl", - "env": { - "FIRECRAWL_API_KEY": "your-api-key" - } - } - } - }, - "r3-yamauchi/mcp-server-blastengine-mailer": { - "mcpServers": { - "blastengine-mailer": { - "command": "node", - "env": { - "BLASTENGINE_USER_ID": "userid-of-blastengine", - "BLASTENGINE_API_KEY": "apikey-of-blastengine" - }, - "args": [ - "/path/to/blastengine-mailer/server.js" - ] - } - } - }, - "ivo-toby/mcp-openapi-server": { - "mcpServers": { - "openapi": { - "command": "npx", - "args": [ - "-y", - "@ivotoby/openapi-mcp-server" - ], - "env": { - "API_BASE_URL": "https://api.example.com", - "OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json", - "API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key" - } - } - } - }, - "peakmojo/mcp-server-peakmojo": { - "mcpServers": { - "peakmojo": { - "command": "python", - "args": [ - "-m", - "mcp_server_peakmojo", - "--api-key", - "your_api_key_here", - "--base-url", - "https://api.staging.readymojo.com" - ] - } - } - }, - "Cactusinhand/mcp_server_notify": { - "mcpServers": { - "NotificationServer": { - "command": "uv", - "args": [ - "--directory", - "path/to/your/mcp_server_notify project", - "run", - "mcp-server-notify" - ] - } - } - }, - "Fibery-inc/fibery-mcp-server": { - "mcpServers": { - "arxiv-mcp-server": { - "command": "uv", - "args": [ - "--directory", - "path/to/cloned/fibery-mcp-server", - "run", - "fibery-mcp-server", - "--fibery-host", - "your-domain.fibery.io", - "--fibery-api-token", - "your-api-token" - ] - } - } - }, - "hymnk/cline-mcp-server-sample": { - "mcpServers": { - "example-server": { - "command": "/root/.bun/bin/bun", - "args": [ - "run", - "/workspace/mcp-server/index.ts" - ], - "env": {} - } - } - }, - "pab1it0/adx-mcp-server": { - "mcpServers": { - "adx": { - "command": "docker", - "args": [ - "run", - "--rm", - "-i", - "-e", - "ADX_CLUSTER_URL", - "-e", - "ADX_DATABASE", - "adx-mcp-server" - ], - "env": { - "ADX_CLUSTER_URL": "https://yourcluster.region.kusto.windows.net", - "ADX_DATABASE": "your_database" - } - } - } - }, - "brianshin22/youtube-translate-mcp": { - "mcpServers": { - "youtube-translate": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "-e", - "YOUTUBE_TRANSLATE_API_KEY", - "youtube-translate-mcp" - ], - "env": { - "YOUTUBE_TRANSLATE_API_KEY": "YOUR_API_KEY" - } - } - } - }, - "base/base-mcp": { - "mcpServers": { - "base-mcp": { - "command": "npx", - "args": [ - "-y", - "base-mcp@latest" - ], - "env": { - "COINBASE_API_KEY_NAME": "your_api_key_name", - "COINBASE_API_PRIVATE_KEY": "your_private_key", - "SEED_PHRASE": "your seed phrase here", - "COINBASE_PROJECT_ID": "your_project_id", - "ALCHEMY_API_KEY": "your_alchemy_api_key", - "PINATA_JWT": "your_pinata_jwt", - "OPENROUTER_API_KEY": "your_openrouter_api_key", - "CHAIN_ID": "optional_for_base_sepolia_testnet" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "Garoth/wolframalpha-llm-mcp": { - "mcpServers": { - "wolframalpha": { - "command": "node", - "args": [ - "/path/to/wolframalpha-mcp-server/build/index.js" - ], - "env": { - "WOLFRAM_LLM_APP_ID": "your-api-key-here" - }, - "disabled": false, - "autoApprove": [ - "ask_llm", - "get_simple_answer", - "validate_key" - ] - } - } - }, - "MCP-Mirror/cr7258_elasticsearch-mcp-server": { - "mcpServers": { - "elasticsearch": { - "command": "uv", - "args": [ - "--directory", - "path/to/elasticsearch_mcp_server/src", - "run", - "server.py" - ], - "env": { - "ELASTIC_HOST": "", - "ELASTIC_USERNAME": "", - "ELASTIC_PASSWORD": ">" - } - } - } - }, - "MFYDev/ghost-mcp": { - "mcpServers": { - "ghost": { - "command": "/Users/username/.local/bin/uv", - "args": [ - "--directory", - "/path/to/ghost-mcp", - "run", - "src/main.py" - ], - "env": { - "GHOST_API_URL": "your_ghost_api_url", - "GHOST_STAFF_API_KEY": "your_staff_api_key" - } - } - } - }, - "open-strategy-partners/osp_marketing_tools": { - "mcpServers": { - "osp_marketing_tools": { - "command": "uvx", - "args": [ - "--from", - "git+https://github.com/open-strategy-partners/osp_marketing_tools@main", - "osp_marketing_tools" - ] - } - } - }, - "QuantGeekDev/coincap-mcp": { - "mcpServers": { - "coincap-mcp": { - "command": "/path/to/coincap-mcp/build/index.js" - } - } - }, - "MCP-Mirror/pythonpete32_mcp-server-template": { - "mcpServers": { - "evm-server": { - "command": "/path/to/evm-server/build/index.js" - } - } - }, - "y7ut/mcp-tavily-search": { - "mcpServers": { - "tavily": { - "command": "docker", - "args": [ - "run", - "--rm", - "-i", - "docker.ijiwei.com/mcp/mcp-tavily-search:latest", - "run", - "tvly-*******************" - ] - } - } - }, - "ethangillani/connectwise-mcp-server": { - "mcpServers": { - "connectwise": { - "command": "npx", - "args": [ - "-y", - "connectwise-mcp-server" - ], - "env": { - "CW_COMPANY_ID": "your_company_id", - "CW_PUBLIC_KEY": "your_public_key", - "CW_PRIVATE_KEY": "your_private_key", - "CW_URL": "api-na.myconnectwise.net" - }, - "options": { - "autoStart": true, - "logLevel": "info" - } - } - } - }, - "Tritlo/lsp-mcp": { - "mcpServers": { - "lsp-mcp": { - "type": "stdio", - "command": "npx", - "args": [ - "tritlo/lsp-mcp", - "", - "", - "" - ] - } - } - }, - "EnesCinr/market-fiyatlari-mcp-server": { - "mcpServers": { - "marketfiyati": { - "command": "npx", - "args": [ - "-y @enescinar/market-fiyati-mcp" - ] - } - } - }, - "Cleversoft-IT/drupal-tools-mcp": { - "mcpServers": { - "drupal-modules-mcp": { - "command": "/path/to/drupal-modules-mcp/build/index.js" - } - } - }, - "robertheadley/chrome-debug-mcp": { - "mcpServers": { - "chrome-debug": { - "command": "node", - "args": [ - "path/to/chrome-debug-mcp/build/index.js" - ], - "disabled": false, - "alwaysAllow": [] - } - } - }, - "xenoailimited/mcp-mavae": { - "mcpServers": { - "mavae": { - "command": "node", - "args": [ - "***/dist/index.js" - ], - "env": { - "MAVAE_API_KEY": "MAVAE_API_KEY" - } - } - } - }, - "bjorndavidhansen/google-ads-mcp-server": { - "mcpServers": { - "google-ads": { - "command": "python", - "args": [ - "/absolute/path/to/server.py" - ] - } - } - }, - "Sjotie/notionMCP": { - "mcpServers": { - "notion": { - "command": "node", - "args": [ - "C:\\path\\to\\otion-mcp-server\\server.js" - ], - "env": { - "NOTION_API_KEY": "your_notion_api_key_here" - } - } - } - }, - "vignesh-codes/ai-agents-mcp-pg": { - "mcpServers": { - "postgres": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "mcp/postgres", - "postgresql://username:password@host.docker.internal:5432/mydatabase" - ] - } - } - }, - "philgei/mcp_server_filesystem": { - "mcpServers": { - "myFiles": { - "command": "mcp-server-filesystem", - "args": [ - "D:/", - "C:/Users/YourUsername/Documents", - "~/Desktop" - ] - } - } - }, - "mcollina/mcp-ripgrep": { - "mcpServers": { - "ripgrep": { - "command": "npx", - "args": [ - "-y", - "mcp-ripgrep@latest" - ] - } - } - }, - "wangtsiao/mcp-weibohot-server": { - "mcpServers": { - "tavily": { - "command": "npx", - "args": [ - "/path/to/tavily-mcp/build/index.js" - ], - "env": { - "TAVILY_API_KEY": "your-api-key-here" - } - } - } - }, - "magarcia/mcp-server-giphy": { - "mcpServers": { - "giphy": { - "command": "npx", - "args": [ - "-y", - "mcp-server-giphy" - ], - "env": { - "GIPHY_API_KEY": "" - } - } - } - }, - "thirdstrandstudio/mcp-tool-chainer": { - "mcpServers": { - "mcp_tool_chainer": { - "command": "node", - "args": [ - "/path/to/mcp-tool-chainer/index.js", - "`claude_desktop_config.json` or `mcp.json`" - ], - "env": {} - } - } - }, - "MCP-Mirror/integration-app_mcp-server": { - "mcpServers": { - "integration-app-hubspot": { - "command": "npx", - "args": [ - "-y", - "@integration-app/mcp-server" - ], - "env": { - "INTEGRATION_APP_TOKEN": "", - "INTEGRATION_KEY": "hubspot" - } - } - } - }, - "blake365/usgs-quakes-mcp": { - "mcpServers": { - "usgs-quakes": { - "command": "node", - "args": [ - "/Full/Route/to/Folder/usgs-quakes/build/index.js" - ] - } - } - }, - "MCP-Mirror/tadasant_mcp-server-ssh-rails-runner": { - "mcpServers": { - "ssh-rails-runner": { - "command": "npx", - "args": [ - "mcp-server-ssh-rails-runner" - ], - "env": { - "SSH_HOST": "your.remote.host", - "SSH_USER": "your_ssh_user", - "SSH_PRIVATE_KEY_PATH": "your_SSH_PRIVATE_KEY_PATH", - "RAILS_WORKING_DIR": "/path/to/rails/app/root" - } - } - } - }, - "bazinga012/mcp_code_executor": { - "mcpServers": { - "mcp-code-executor": { - "command": "node", - "args": [ - "/path/to/mcp_code_executor/build/index.js" - ], - "env": { - "CODE_STORAGE_DIR": "/path/to/code/storage", - "CONDA_ENV_NAME": "your-conda-env" - } - } - } - }, - "rusiaaman/wcgw": { - "mcpServers": { - "w": { - "command": "wsl.exe", - "args": [ - "uv", - "tool", - "run", - "--from", - "wcgw@latest", - "--python", - "3.12", - "wcgw_mcp" - ] - } - } - }, - "hanweg/mcp-tool-builder": { - "mcpServers": { - "tool-builder": { - "command": "uv", - "args": [ - "--directory", - "PATH_TO\\mcp-tool-builder", - "run", - "tool-builder" - ] - } - } - }, - "alxspiker/ai-meta-mcp-server": { - "mcpServers": { - "ai-meta-mcp": { - "command": "npx", - "args": [ - "-y", - "ai-meta-mcp-server" - ], - "env": { - "ALLOW_JS_EXECUTION": "true", - "ALLOW_PYTHON_EXECUTION": "false", - "ALLOW_SHELL_EXECUTION": "false" - } - } - } - }, - "bharathvaj-ganesan/whois-mcp": { - "mcpServers": { - "whois": { - "command": "npx", - "args": [ - "-y", - "@bharathvaj/whois-mcp@latest" - ] - } - } - }, - "MCP-Mirror/tatn_mcp-server-fetch-python": { - "mcpServers": { - "mcp-server-fetch-python": { - "command": "uv", - "args": [ - "--directory", - "path\\to\\mcp-server-fetch-python", - "run", - "mcp-server-fetch-python" - ] - } - } - }, - "jagan-shanmugam/climatiq-mcp-server": { - "mcpServers": { - "climatiq-mcp-server": { - "command": "climatiq-mcp-server", - "env": { - "CLIMATIQ_API_KEY": "your_climatiq_api_key" - } - } - } - }, - "FradSer/mcp-server-apple-reminders": { - "mcpServers": { - "apple-reminders": { - "command": "mcp-server-apple-reminders", - "args": [] - } - } - }, - "MCP-Mirror/peterparker57_clarion-builder-mcp-server": { - "mcpServers": { - "clarion-builder": { - "command": "node", - "args": [ - "path/to/clarion-builder-mcp-server/dist/index.js" - ], - "env": {} - } - } - }, - "y86/ex-mcp-test": { - "mcpServers": { - "ex-mcp-test": { - "command": "path/to/your/realease/bin/my_app", - "args": [ - "start" - ] - } - } - }, - "zhaoxin34/mcp-server-mysql": { - "mcpServers": { - "mcp_server_mysql": { - "command": "/path/to/npx/binary/npx", - "args": [ - "-y", - "@benborla29/mcp-server-mysql" - ], - "env": { - "MYSQL_HOST": "127.0.0.1", - "MYSQL_PORT": "3306", - "MYSQL_USER": "root", - "MYSQL_PASS": "", - "MYSQL_DB": "db_name", - "PATH": "/path/to/node/bin:/usr/bin:/bin", - "MYSQL_POOL_SIZE": "10", - "MYSQL_QUERY_TIMEOUT": "30000", - "MYSQL_CACHE_TTL": "60000", - "MYSQL_RATE_LIMIT": "100", - "MYSQL_MAX_QUERY_COMPLEXITY": "1000", - "MYSQL_SSL": "true", - "MYSQL_ENABLE_LOGGING": "true", - "MYSQL_LOG_LEVEL": "info", - "MYSQL_METRICS_ENABLED": "true" - } - } - } - }, - "qpd-v/mcp-delete": { - "mcpServers": { - "mcp-delete": { - "command": "npx", - "args": [ - "@qpd-v/mcp-delete" - ] - } - } - }, - "okooo5km/zipic-mcp-server": { - "mcpServers": { - "zipic": { - "command": "zipic-mcp-server" - } - } - }, - "thrashr888/terraform-mcp-server": { - "mcpServers": { - "terraform-registry": { - "command": "npx", - "args": [ - "-y", - "terraform-mcp-server" - ] - } - } - }, - "yiGmMk/mcp-server": { - "mcpServers": { - "yiGmMk/mcp-server": { - "command": "uv", - "args": [ - "run", - "/path/to/your/mcp-server/main.py" - ], - "env": { - "VIRTUAL_ENV": "/path/to/your/mcp-server/.venv", - "JINA_API_KEY": "jina_api_key,\u00e8\u00af\u00b7\u00e4\u00bb\u008ehttps://jina.ai/reader\u00e8\u008e\u00b7\u00e5\u008f\u0096", - "PYTHONIOENCODING": "utf-8" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "arbuthnot-eth/PayPal-MCP": { - "mcpServers": { - "paypal": { - "command": "node", - "args": [ - "path/to/paypal-mcp/build/index.js" - ], - "env": { - "PAYPAL_CLIENT_ID": "your_client_id", - "PAYPAL_CLIENT_SECRET": "your_client_secret", - "PAYPAL_ENVIRONMENT": "sandbox" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "speakeasy-api/mistral-mcp-server-example": { - "mcpServers": { - "Mistral MCP Server": { - "command": "node", - "args": [ - "/Users/speakeasy/server-mistral/build/index.js" - ], - "env": { - "MISTRAL_API_KEY": "YOUR_MISTRAL_API_KEY" - } - } - } - }, - "tadata-org/fastapi_mcp": { - "mcpServers": { - "my-api-mcp-proxy": { - "command": "/Full/Path/To/Your/Executable/mcp-proxy", - "args": [ - "http://127.0.0.1:8000/mcp" - ] - } - } - }, - "nattyraz/youtube-mcp": { - "mcpServers": { - "youtube": { - "command": "node", - "args": [ - "path/to/youtube-mcp/build/index.js" - ], - "env": { - "YOUTUBE_API_KEY": "your_api_key", - "YOUTUBE_CLIENT_ID": "your_client_id", - "YOUTUBE_CLIENT_SECRET": "your_client_secret" - }, - "disabled": false, - "alwaysAllow": [] - } - } - }, - "memohib/Web_Search_MCP": { - "mcpServers": { - "Mcp_Demo": { - "command": "uv", - "args": [ - "--directory", - "path/Web_Search_MCP", - "run", - "main.py" - ] - } - } - }, - "ahonn/mcp-server-gsc": { - "mcpServers": { - "gsc": { - "command": "npx", - "args": [ - "-y", - "mcp-server-gsc" - ], - "env": { - "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/credentials.json" - } - } - } - }, - "Siddhant-K-code/mcp-apple-notes": { - "mcpServers": { - "apple-notes": { - "command": "yarn", - "args": [ - "start" - ], - "cwd": "/path/to/mcp-apple-notes" - } - } - }, - "singlestore-labs/mcp-server-singlestore": { - "mcpServers": { - "singlestore-mcp-server": { - "command": "pipx", - "args": [ - "run", - "singlestore-mcp-server" - ], - "env": { - "SINGLESTORE_DB_USERNAME": "your-database-username", - "SINGLESTORE_DB_PASSWORD": "your-database-password", - "SINGLESTORE_API_KEY": "your-api-key" - } - } - } - }, - "mixelpixx/GoogleSearch_McpServer": { - "mcpServers": { - "google-search": { - "command": "npm", - "args": [ - "run", - "start:all" - ], - "cwd": "/path/to/google-search-server" - } - } - }, - "Cam10001110101/mcp-server-obsidian-jsoncanvas": { - "mcpServers": { - "jsoncanvas": { - "command": "uv", - "args": [ - "--directory", - "/path/to/jsoncanvas", - "run", - "mcp-server-jsoncanvas" - ], - "env": { - "OUTPUT_PATH": "./output" - } - } - } - }, - "mcpagents-ai/mcpagentai": { - "mcpServers": { - "mcpagentai": { - "command": "docker", - "args": [ - "run", - "-i", - "-v", - "/path/to/local/eliza:/app/eliza", - "--rm", - "mcpagentai" - ] - } - } - }, - "kj455/mcp-kibela": { - "mcpServers": { - "mcp-kibela": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "-e", - "KIBELA_TEAM", - "-e", - "KIBELA_TOKEN", - "ghcr.io/kj455/mcp-kibela:latest" - ], - "env": { - "KIBELA_TEAM": "your-team-name from https://[team-name].kibe.la", - "KIBELA_TOKEN": "your-token" - } - } - } - }, - "AudienseCo/mcp-audiense-insights": { - "mcpServers": { - "audiense-insights": { - "command": "/opt/homebrew/bin/node", - "args": [ - "/ABSOLUTE/PATH/TO/YOUR/build/index.js" - ], - "env": { - "AUDIENSE_CLIENT_ID": "your_client_id_here", - "AUDIENSE_CLIENT_SECRET": "your_client_secret_here", - "TWITTER_BEARER_TOKEN": "your_token_here" - } - } - } - }, - "shaneholloman/mcp-knowledge-graph": { - "mcpServers": { - "memory": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-memory", - "--memory-path", - "/path/to/your/memory.jsonl" - ] - } - } - }, - "xkiranj/linux-command-mcp": { - "mcpServers": { - "server-name": { - "command": "node|npx|uvx", - "args": [ - "server-specific-arguments" - ], - "env": { - "OPTIONAL_ENVIRONMENT_VARIABLES": "value" - } - } - } - }, - "isaacwasserman/mcp-snowflake-server": { - "mcpServers": { - "snowflake_local": { - "command": "/absolute/path/to/uv", - "args": [ - "--python=3.12", - "--directory", - "/absolute/path/to/mcp_snowflake_server", - "run", - "mcp_snowflake_server" - ] - } - } - }, - "MCP-Mirror/odysseus0_mcp-server-shell": { - "mcpServers": { - "shell": { - "command": "python", - "args": [ - "-m", - "mcp_server_shell" - ] - } - } - }, - "HarjjotSinghh/mcp-server-postgres-multi-schema": { - "mcpServers": { - "postgres": { - "command": "npx", - "args": [ - "-y", - "mcp-server-postgres-multi-schema", - "postgresql://localhost/mydb", - "public,audit" - ] - } - } - }, - "66julienmartin/MCP-server-Deepseek_R1": { - "mcpServers": { - "deepseek_r1": { - "command": "node", - "args": [ - "/path/to/deepseek-r1-mcp/build/index.js" - ], - "env": { - "DEEPSEEK_API_KEY": "your-api-key" - } - } - } - }, - "hjfender/demo-mcp-server": { - "mcpServers": { - "blender": { - "command": "uvx", - "args": [ - "blender-mcp" - ] - } - } - }, - "MCP-Mirror/plurigrid_juvix-mcp-server": { - "mcpServers": { - "cli-mcp-server": { - "command": "uvx", - "args": [ - "cli-mcp-server" - ], - "env": { - "ALLOWED_DIR": "", - "ALLOWED_COMMANDS": "ls,cat,pwd,echo", - "ALLOWED_FLAGS": "-l,-a,--help,--version", - "MAX_COMMAND_LENGTH": "1024", - "COMMAND_TIMEOUT": "30" - } - } - } - }, - "win4r/browser-use-MCP-Server": { - "mcpServers": { - "browser-use": { - "command": "/path/to/browser-use/build/index.js" - } - } - }, - "landicefu/mcp-client-configuration-server": { - "mcpServers": { - "mcp-client-configuration": { - "command": "npx", - "args": [ - "-y", - "@landicefu/mcp-client-configuration-server" - ], - "env": {}, - "disabled": false, - "alwaysAllow": [] - } - } - }, - "MCP-Mirror/GongRzhe_TRAVEL-PLANNER-MCP-Server": { - "mcpServers": { - "travel-planner": { - "command": "node", - "args": [ - "path/to/dist/index.js" - ], - "env": { - "GOOGLE_MAPS_API_KEY": "your_google_maps_api_key" - } - } - } - }, - "nwiizo/tfmcp": { - "mcpServers": { - "tfmcp": { - "command": "/path/to/your/tfmcp", - "args": [ - "mcp" - ], - "env": { - "HOME": "/Users/yourusername", - "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin", - "TERRAFORM_DIR": "/path/to/your/terraform/project" - } - } - } - }, - "StuMason/get-mcp-keys": { - "mcpServers": { - "firecrawl": { - "command": "npx", - "args": [ - "@masonator/get-mcp-keys", - "npx", - "-y", - "firecrawl-mcp" - ] - } - } - }, - "ghubnerr/Notion-MCP": { - "mcpServers": { - "notion": { - "command": "node", - "args": [ - "/path/to/notion-mcp-server/build/index.js" - ], - "env": { - "NOTION_API_KEY": "your_notion_api_key_here" - } - } - } - }, - "bmorphism/penumbra-mcp": { - "mcpServers": { - "penumbra-mcp": { - "command": "node", - "args": [ - "/Users/barton/infinity-topos/penumbra-mcp/build/index.js" - ], - "env": { - "PENUMBRA_NODE_URL": "https://rpc.penumbra.zone", - "PENUMBRA_NETWORK": "mainnet", - "PENUMBRA_CHAIN_ID": "penumbra-1", - "PENUMBRA_REQUEST_TIMEOUT": "30000", - "PENUMBRA_REQUEST_RETRIES": "5", - "PENUMBRA_BLOCK_TIME": "6000", - "PENUMBRA_EPOCH_DURATION": "100", - "PENUMBRA_DEX_BATCH_INTERVAL": "60000", - "PENUMBRA_DEX_MIN_LIQUIDITY": "1000", - "PENUMBRA_DEX_MAX_PRICE_IMPACT": "0.05", - "PENUMBRA_GOVERNANCE_VOTING_PERIOD": "1209600000", - "PENUMBRA_GOVERNANCE_MIN_DEPOSIT": "100000" - } - } - } - }, - "hyperbrowserai/mcp": { - "mcpServers": { - "hyperbrowser": { - "command": "npx", - "args": [ - "--yes", - "hyperbrowser-mcp" - ], - "env": { - "HYPERBROWSER_API_KEY": "your-api-key" - } - } - } - }, - "g0t4/mcp-server-commands": { - "mcpServers": { - "mcp-server-commands": { - "command": "/path/to/mcp-server-commands/build/index.js" - } - } - }, - "Abiorh001/mcp_connect": { - "LLM": { - "model": "gpt-4o-mini", - "temperature": 0.5, - "max_tokens": 1000, - "top_p": 0, - "frequency_penalty": 0, - "presence_penalty": 0 - }, - "mcpServers": { - "server-name": { - "command": "python", - "args": [ - "mcp-server.py" - ], - "env": { - "API_KEY": "value" - } - } - } - }, - "felores/placid-mcp-server": { - "mcpServers": { - "placid": { - "command": "node", - "args": [ - "path/to/placid-mcp-server/build/index.js" - ], - "env": { - "PLACID_API_TOKEN": "your-api-token" - } - } - } - }, - "lugondev/bsc-testnet-mcp-servers": { - "mcpServers": { - "evm-mcp-sse": { - "url": "http://localhost:3001/sse" - } - } - }, - "lostintangent/gistpad-mcp": { - "mcpServers": { - "gistpad": { - "command": "npx", - "args": [ - "-y", - "gistpad-mcp" - ], - "env": { - "GITHUB_TOKEN": "" - } - } - } - }, - "afshawnlotfi/mcp-configurable-puppeteer": { - "mcpServers": { - "puppeteer": { - "command": "npx", - "args": [ - "-y", - "github:afshawnlotfi/mcp-configurable-puppeteer#main" - ] - } - } - }, - "olostep/olostep-mcp-server": { - "mcpServers": { - "mcp-server-olostep": { - "command": "npx", - "args": [ - "-y", - "olostep-mcp" - ], - "env": { - "OLOSTEP_API_KEY": "YOUR_API_KEY_HERE" - } - } - } - }, - "LaubPlusCo/mcp-webdav-server": { - "mcpServers": { - "webdav": { - "command": "node", - "args": [ - "/dist/index.js" - ], - "env": { - "WEBDAV_ROOT_URL": "", - "WEBDAV_ROOT_PATH": "", - "WEBDAV_USERNAME": "", - "WEBDAV_PASSWORD": "", - "WEBDAV_AUTH_ENABLED": "true|false" - } - } - } - }, - "MCP-Mirror/metoro-io_metoro-mcp-server": { - "mcpServers": { - "metoro-mcp-server": { - "command": "/metoro-mcp-server", - "args": [], - "env": { - "METORO_AUTH_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXN0b21lcklkIjoiOThlZDU1M2QtYzY4ZC00MDRhLWFhZjItNDM2ODllNWJiMGUzIiwiZW1haWwiOiJ0ZXN0QGNocmlzYmF0dGFyYmVlLmNvbSIsImV4cCI6MTgyMTI0NzIzN30.7G6alDpcZh_OThYj293Jce5rjeOBqAhOlANR_Fl5auw", - "METORO_API_URL": "https://demo.us-east.metoro.io" - } - } - } - }, - "suekou/mcp-notion-server": { - "mcpServers": { - "notion": { - "command": "node", - "args": [ - "your-built-file-path" - ], - "env": { - "NOTION_API_TOKEN": "your-integration-token", - "NOTION_MARKDOWN_CONVERSION": "true" - } - } - } - }, - "Badhansen/notion-mcp": { - "mcpServers": { - "notion-mcp": { - "command": "uv", - "args": [ - "--directory", - "/Users/username/Projects/Python/notion-mcp/src", - "run", - "server.py" - ] - } - } - }, - "cristip73/MCP-email-server": { - "mcpServers": { - "email-server": { - "command": "node", - "args": [ - "/path/to/email-server/build/index.js" - ], - "env": { - "TIME_ZONE": "GMT+2", - "DEFAULT_ATTACHMENTS_FOLDER": "/Users/username/CLAUDE/Attachments" - } - } - } - }, - "maoxiaoke/mcp-media-processor": { - "mcpServers": { - "mediaProcessor": { - "command": "npx", - "args": [ - "-y", - "mcp-media-processor@latest" - ] - } - } - }, - "MCP-100/stock-market-server": { - "mcpServers": { - "stock-market-server": { - "command": "/path/to/stock-market-server/build/index.js" - } - } - }, - "lingster/mcp-llm": { - "mcpServers": { - "brave-search": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-brave-search" - ], - "env": { - "BRAVE_API_KEY": "your-api-key-here" - } - } - } - }, - "felores/airtable-mcp-server": { - "mcpServers": { - "airtable": { - "command": "node", - "args": [ - "/path/to/airtable-mcp-server/dist/index.js" - ], - "env": { - "AIRTABLE_API_KEY": "your_api_key_here" - } - } - } - }, - "mekanixms/MCPTimeServer": { - "mcpServers": { - "Time Server": { - "command": "/path/to/python", - "args": [ - "/path/to/timeserver.py" - ], - "env": { - "TIMEZONE": "America/New_York" - } - } - } - }, - "mashriram/azure_mcp_server": { - "mcpServers": { - "mcp-server-azure": { - "command": "uv", - "args": [ - "--directory", - "/path/to/repo/azure-mcp-server", - "run", - "azure-mcp-server" - ] - } - } - }, - "MCP-Mirror/PhialsBasement_mcp-github-server-plus": { - "mcpServers": { - "github": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-github" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "" - } - } - } - }, - "Taxuspt/garmin_mcp": { - "mcpServers": { - "garmin": { - "command": "python", - "args": [ - "/garmin_mcp/garmin_mcp_server.py" - ] - } - } - }, - "usegranthq/mcp-server": { - "mcpServers": { - "usegrant": { - "command": "npx", - "args": [ - "-y", - "@usegrant/mcp-server" - ], - "env": { - "USEGRANT_API_KEY": "your_api_key_here" - } - } - } - }, - "w-jeon/mcp-servers": { - "mcpServers": { - "filesystem": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-filesystem", - "/path/to/allowed/files" - ] - }, - "git": { - "command": "uvx", - "args": [ - "mcp-server-git", - "--repository", - "path/to/git/repo" - ] - }, - "github": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-github" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "" - } - }, - "postgres": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-postgres", - "postgresql://localhost/mydb" - ] - } - } - }, - "charles-adedotun/notifications-mcp-server": { - "mcpServers": [ - { - "notify-user": { + "mcpServers": { + "Gloomysunday28/mcp-server": { + "package_name": "Gloomysunday28/mcp-server", + "repo_url": "https://github.com/Gloomysunday28/mcp-server", + "command": "/path/to/weather-server/build/index.js" + }, + "block/vscode-mcp": { + "package_name": "block/vscode-mcp", + "repo_url": "https://github.com/block/vscode-mcp", + "command": "npx", + "args": [ + "vscode-mcp-server" + ] + }, + "MCP-Mirror/hekmon8_Homeassistant-server-mcp": { + "package_name": "MCP-Mirror/hekmon8_Homeassistant-server-mcp", + "repo_url": "https://github.com/MCP-Mirror/hekmon8_Homeassistant-server-mcp", + "command": "node", + "args": [ + "/path/to/homeassistant-mcp/homeassistant-server/build/index.js" + ], + "env": { + "HA_URL": "${HA_URL}", + "HA_TOKEN": "${HA_TOKEN}" + } + }, + "MxIris-Reverse-Engineering/ida-mcp-server": { + "package_name": "MxIris-Reverse-Engineering/ida-mcp-server", + "repo_url": "https://github.com/MxIris-Reverse-Engineering/ida-mcp-server", "command": "uv", "args": [ - "run", - "--with", - "fastmcp", - "fastmcp", - "run", - "/path/to/server.py" + "--directory", + "/", + "run", + "mcp-server-ida" ] - } - } - ] - }, - "psalzman/mcp-openfec": { - "mcpServers": { - "openfec": { - "command": "node", - "args": [ - "/absolute/path/to/mcp-openfec/build/server.js" - ], - "env": { - "OPENFEC_API_KEY": "your_api_key_here" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "yangkyeongmo/mcp-server-openmetadata": { - "mcpServers": { - "mcp-server-openmetadata": { - "command": "uv", - "args": [ - "--directory", - "/path/to/mcp-server-openmetadata", - "run", - "mcp-server-openmetadata" - ], - "env": { - "OPENMETADATA_HOST": "https://your-openmetadata-host", - "OPENMETADATA_USERNAME": "your-username", - "OPENMETADATA_PASSWORD": "your-password" - } - } - } - }, - "abel9851/mcp-server-mariadb": { - "mcpServers": { - "mcp_server_mariadb": { - "command": "/PATH/TO/uv", - "args": [ - "--directory", - "/YOUR/SOURCE/PATH/mcp-server-mariadb/src/mcp_server_mariadb", - "run", - "server.py" - ], - "env": { - "MARIADB_HOST": "127.0.0.1", - "MARIADB_USER": "USER", - "MARIADB_PASSWORD": "PASSWORD", - "MARIADB_DATABASE": "DATABASE", - "MARIADB_PORT": "3306" - } - } - } - }, - "theposch/gmail-mcp": { - "mcpServers": { - "gmail": { - "command": "uv", - "args": [ - "--directory", - "/absolute/path/to/gmail-mcp", - "run", - "gmail", - "--creds-file-path", - "/absolute/path/to/credentials.json", - "--token-path", - "/absolute/path/to/tokens.json" - ] - } - } - }, - "nacgarg/bazel-mcp-server": { - "mcpServers": { - "bazel": { - "command": "npx", - "args": [ - "-y", - "github:nacgarg/bazel-mcp-server", - "--bazel_path", - "/absolute/path/to/your/bazel/binary", - "--workspace_path", - "/absolute/path/to/your/bazel/workspace" - ] - } - } - }, - "c0h1b4/mssql-mcp-server": { - "mcpServers": { - "mssql": { - "command": "mssql-mcp-server", - "env": { - "MSSQL_CONNECTION_STRING": "Server=localhost;Database=master;User Id=sa;Password=yourpassword;", - "MSSQL_HOST": "localhost", - "MSSQL_PORT": "1433", - "MSSQL_DATABASE": "master", - "MSSQL_USER": "sa", - "MSSQL_PASSWORD": "yourpassword", - "MSSQL_ENCRYPT": "false", - "MSSQL_TRUST_SERVER_CERTIFICATE": "true" - } - } - } - }, - "kunjanshah0811/MCP-Terminal-Server": { - "mcpServers": { - "terminal": { - "command": "C:\\path\\to\\uv.exe", - "args": [ - "--directory", - "D:\\path\\to\\mcp\\servers\\terminal_server", - "run", - "terminal_server.py" - ] - } - } - }, - "tuberrabbit/mcp-server-notifier": { - "mcpServers": { - "notifier": { - "command": "npx", - "args": [ - "-y", - "mcp-server-notifier" - ], - "env": { - "WEBHOOK_URL": "https://ntfy.sh/webhook-url-example", - "WEBHOOK_TYPE": "ntfy" - } - } - } - }, - "okooo5km/unsplash-mcp-server-swift": { - "mcpServers": { - "unsplash": { - "command": "unsplash-mcp-server", - "env": { - "UNSPLASH_ACCESS_KEY": "${YOUR_ACCESS_KEY}" - } - } - } - }, - "kukapay/uniswap-trader-mcp": { - "mcpServers": { - "Uniswap-Trader-MCP": { - "command": "node", - "args": [ - "path/to/uniswap-trader-mcp/server/index.js" - ], - "env": { - "INFURA_KEY": "your infura key", - "WALLET_PRIVATE_KEY": "your private key" - } - } - } - }, - "MCP-Mirror/aallsbury_qb-time-mcp-server": { - "globalShortcut": "Ctrl+Q", - "mcpServers": { - "qb-time-tools": { - "command": "python", - "args": [ - "./qb-time-mcp-server/main.py" - ], - "env": { - "QB_TIME_ACCESS_TOKEN": "your_quickbooks_time_access_token_here" - } - } - } - }, - "SouravKumarBarman/twitter-mcp-server": { - "mcpServers": { - "Twitter Assistant": { - "command": "npm", - "args": [ - "--prefix", - "/full/path/to/twitter-mcp-server.js", - "start" - ] - } - } - }, - "dandeliongold/mcp-decent-sampler-drums": { - "mcpServers": { - "decent-sampler-drums": { - "command": "npx", - "args": [ - "-y", - "@dandeliongold/mcp-decent-sampler-drums" - ], - "env": {} - } - } - }, - "winor30/mcp-server-datadog": { - "mcpServers": { - "mcp-server-datadog": { - "command": "npx", - "args": [ - "-y", - "@winor30/mcp-server-datadog" - ], - "env": { - "DATADOG_API_KEY": "", - "DATADOG_APP_KEY": "", - "DATADOG_SITE": "" - } - } - } - }, - "katsuhirohonda/mcp-backlog-server": { - "mcpServers": { - "mcp-backlog-server": { - "command": "/path/to/mcp-backlog-server/build/index.js", - "env": { - "BACKLOG_API_KEY": "your-api-key", - "BACKLOG_SPACE_URL": "https://your-space.backlog.com" - } - } - } - }, - "isaacphi/mcp-filesystem": { - "mcpServers": { - "filesystem": { - "command": "/full/path/to/your/mcp-filesystem/mcp-filesystem", - "args": [ - "--workspace", - "/path/to/repository" - ], - "env": { - "DEBUG": "1" - } - } - } - }, - "modelcontextprotocol/servers": { - "mcpServers": { - "postgres": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-postgres", - "postgresql://localhost/mydb" - ] - } - } - }, - "Arenukvern/mcp_flutter": { - "mcpServers": { - "flutter-inspector": { - "command": "node", - "args": [ - "/path/to/your/cloned/flutter-inspector/mcp_server/build/index.js" - ], - "env": { - "PORT": "3334", - "LOG_LEVEL": "critical" - }, - "disabled": false - } - } - }, - "ian-cowley/MCPSqlServer": { - "mcpServers": { - "sqlMcpService": { - "command": "path/to/your/MCPSqlServer.exe", - "args": [], - "description": "SQL Server MCP Service" - } - } - }, - "fatwang2/search1api-mcp": { - "mcpServers": { - "search1api": { - "command": "npx", - "args": [ - "-y", - "search1api-mcp" - ], - "env": { - "SEARCH1API_KEY": "YOUR_SEARCH1API_KEY" - } - } - } - }, - "carterlasalle/mac_messages_mcp": { - "mcpServers": { - "messages": { - "command": "uvx", - "args": [ - "mac-messages-mcp" - ] - } - } - }, - "hiromitsusasaki/raindrop-io-mcp-server": { - "mcpServers": { - "raindrop": { - "command": "node", - "args": [ - "PATH_TO_BUILD/index.js" - ], - "env": { - "RAINDROP_TOKEN": "your_access_token_here" - } - } - } - }, - "blazickjp/shell-mcp-server": { - "mcpServers": { - "shell-mcp-server": { - "command": "uv", - "args": [ - "--directory", - "/path/to/shell-mcp-server", - "run", - "shell-mcp-server", - "/path/to/allowed/dir1", - "/path/to/allowed/dir2", - "--shell", - "bash", - "/bin/bash", - "--shell", - "zsh", - "/bin/zsh" - ] - } - } - }, - "ravenwits/mcp-server-arangodb": { - "mcpServers": { - "arango": { - "command": "node", - "args": [ - "/path/to/arango-server/build/index.js" - ], - "env": { - "ARANGO_URL": "your_database_url", - "ARANGO_DATABASE": "your_database_name", - "ARANGO_USERNAME": "your_username", - "ARANGO_PASSWORD": "your_password" - } - } - } - }, - "MCP-Mirror/Nazruden_clickup-mcp-server": { - "mcpServers": { - "clickup": { - "command": "npx", - "args": [ - "@mcp/clickup-server" - ], - "env": { - "CLICKUP_CLIENT_ID": "your_client_id", - "CLICKUP_CLIENT_SECRET": "your_client_secret", - "CLICKUP_REDIRECT_URI": "http://localhost:3000/oauth/callback" - } - } - } - }, - "amurata/MCPServer": { - "mcpServers": { - "github.com/modelcontextprotocol/servers/tree/main/src/github": { - "command": "/Users/username/.volta/bin/npx", - "args": [ - "-y", - "@modelcontextprotocol/server-github" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "JayArrowz/mcp-figma": { - "mcpServers": { - "figma": { - "command": "node", - "args": [ - "/path/to/mcp-figma/dist/index.js", - "--figma-token", - "your_figma_api_key" - ] - } - } - }, - "gabrimatic/mcp-web-search-tool": { - "mcpServers": { - "mcp-web-search": { - "command": "node", - "args": [ - "/path/to/your/mcp-web-search-tool/build/index.js" - ] - } - } - }, - "MCP-Mirror/ZubeidHendricks_youtube-mcp-server": { - "mcpServers": { - "youtube": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-youtube" - ], - "env": { - "YOUTUBE_API_KEY": "" - } - } - } - }, - "GreptimeTeam/greptimedb-mcp-server": { - "mcpServers": { - "greptimedb": { - "command": "uv", - "args": [ - "--directory", - "/path/to/greptimedb-mcp-server", - "run", - "-m", - "greptimedb_mcp_server.server" - ], - "env": { - "GREPTIMEDB_HOST": "localhost", - "GREPTIMEDB_PORT": "4002", - "GREPTIMEDB_USER": "root", - "GREPTIMEDB_PASSWORD": "", - "GREPTIMEDB_DATABASE": "public" - } - } - } - }, - "MCP-Mirror/T1nker-1220_memories-with-lessons-mcp-server": { - "mcpServers": { - "memory": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-memory" - ], - "env": { - "MEMORY_FILE_PATH": "/path/to/custom/memory.json" - } - } - } - }, - "xiangma9712/mysql-mcp-server": { - "mcpServers": { - "mysql": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "--add-host=host.docker.internal:host-gateway", - "--env-file", - "/Users/username/.mcp/.env", - "ghcr.io/xiangma9712/mcp/mysql" - ] - } - } - }, - "msaelices/ultimate-team-mcp-server": { - "mcpServers": { - "ultimate_mcp_server": { - "command": "ultimate-team-mcp-server", - "environment": { - "SQLITE_URI": "sqlitecloud://host:port/database?apikey=key" - } - } - } - }, - "insecurepla/code-sandbox-mcp": { - "mcpServers": { - "code-sandbox-mcp": { - "command": "C:\\path\\to\\code-sandbox-mcp.exe", - "args": [], - "env": {} - } - } - }, - "KS-GEN-AI/confluence-mcp-server": { - "mcpServers": { - "Confluence communication server": { - "command": "node", - "args": [ - "/PATH_TO_THE_PROJECT/build/index.js" - ], - "env": { - "CONFLUENCE_URL": "https://XXXXXXXX.atlassian.net/wiki", - "CONFLUENCE_API_MAIL": "Your email", - "CONFLUENCE_API_KEY": "KEY_FROM: https://id.atlassian.com/manage-profile/security/api-tokens" - } - } - } - }, - "DocNR/repo-analyzer-mcp": { - "mcpServers": { - "repo-analyzer": { - "command": "node", - "args": [ - "/absolute/path/to/repo-analyzer-mcp/dist/index.js" - ], - "transport": "stdio", - "env": { - "NODE_ENV": "production", - "DEFAULT_REPO_PATH": "/path/to/default/repository" - } - } - } - }, - "m4s1t4/webSearch-Tools": { - "mcpServers": { - "websearch": { - "command": "uv", - "args": [ - "--directory", - "D:\\ABSOLUTE\\PATH\\TO\\WebSearch", - "run", - "main.py" - ] - } - } - }, - "shimayuz/note-mcp-server": { - "mcpServers": { - "note-api": { - "command": "node", - "args": [ - "/Users/heavenlykiss0820/noteMCP/build/note-mcp-server.js" - ] - } - } - }, - "badger3000/okx-mcp-server": { - "mcpServers": { - "okx": { - "command": "node", - "args": [ - "/absolute/path/to/okx-mcp-server/build/index.js" - ], - "disabled": false, - "autoApprove": [] - } - } - }, - "Cam10001110101/mcp-server-outlook-email": { - "mcpServers": { - "outlook-email": { - "command": "C:/Users/username/path/to/mcp-server-outlook-email/.venv/Scripts/python", - "args": [ - "C:/Users/username/path/to/mcp-server-outlook-email/src/mcp_server.py" - ], - "env": { - "MONGODB_URI": "mongodb://localhost:27017/MCP?authSource=admin", - "SQLITE_DB_PATH": "C:\\Users\\username\\path\\to\\mcp-server-outlook-email\\data\\emails.db", - "EMBEDDING_BASE_URL": "http://localhost:11434", - "EMBEDDING_MODEL": "nomic-embed-text", - "COLLECTION_NAME": "outlook-emails", - "PROCESS_DELETED_ITEMS": "false" - } - } - } - }, - "MCP-Mirror/bmorphism_anti-bullshit-mcp-server": { - "mcpServers": { - "anti-bullshit": { - "command": "node", - "args": [ - "/path/to/anti-bullshit-mcp-server/build/index.js" - ] - } - } - }, - "mcollina/mcp-github-notifications": { - "mcpServers": { - "github-notifications": { - "command": "node", - "args": [ - "/absolute/path/to/github-notifications-mcp-server/build/index.js" - ], - "env": { - "GITHUB_TOKEN": "your_github_personal_access_token_here" - } - } - } - }, - "crazyrabbitLTC/mcp-coingecko-server": { - "mcpServers": { - "coingecko": { - "command": "node", - "args": [ - "/path/to/coingecko-server/build/index.js" - ], - "env": { - "COINGECKO_API_KEY": "your-api-key-here" - } - } - } - }, - "cohnen/mcp-google-ads": { - "mcpServers": { - "googleAdsServer": { - "command": "/FULL/PATH/TO/mcp-google-ads-main/.venv/bin/python", - "args": [ - "/FULL/PATH/TO/mcp-google-ads-main/google_ads_server.py" - ], - "env": { - "GOOGLE_ADS_CREDENTIALS_PATH": "/FULL/PATH/TO/mcp-google-ads-main/service_account_credentials.json", - "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN_HERE", - "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "YOUR_MANAGER_ACCOUNT_ID_HERE" - } - } - } - }, - "qiangge2008/weather-mcp-server": { - "mcpServers": { - "weather": { - "command": "node", - "args": [ - "\u00e4\u00bd\u00a0\u00e7\u009a\u0084\u00e5\u00ae\u008c\u00e6\u0095\u00b4\u00e8\u00b7\u00af\u00e5\u00be\u0084/weather-mcp-server/build/index.js" - ], - "env": { - "QWEATHER_API_KEY": "\u00e4\u00bd\u00a0\u00e7\u009a\u0084\u00e5\u0092\u008c\u00e9\u00a3\u008e\u00e5\u00a4\u00a9\u00e6\u00b0\u0094API\u00e5\u00af\u0086\u00e9\u0092\u00a5", - "SENIVERSE_API_KEY": "\u00e4\u00bd\u00a0\u00e7\u009a\u0084\u00e5\u00bf\u0083\u00e7\u009f\u00a5\u00e5\u00a4\u00a9\u00e6\u00b0\u0094API\u00e5\u00af\u0086\u00e9\u0092\u00a5" - } - } - } - }, - "MCP-Mirror/Laksh-star_mcp-server-tmdb": { - "mcpServers": { - "tmdb": { - "command": "/full/path/to/dist/index.js", - "env": { - "TMDB_API_KEY": "your_api_key_here" - } - } - } - }, - "ysfscream/mqttx-mcp-sse-server": { - "mcpServers": { - "mqttx-server": { - "url": "http://localhost:4000/mqttx/sse" - } - } - }, - "severity1/terraform-cloud-mcp": { - "mcpServers": { - "terraform-cloud-mcp": { - "command": "/path/to/uv", - "args": [ - "--directory", - "/path/to/your/terraform-cloud-mcp", - "run", - "terraform-cloud-mcp" - ], - "env": { - "TFC_TOKEN": "my token..." - } - } - } - }, - "HundunOnline/mcp-dingdingbot-server": { - "mcpServers": { - "mcp-dingdingbot-server": { - "command": "mcp-dingdingbot-server", - "env": { - "DINGDING_BOT_WEBHOOK_KEY": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", - "DINGDING_BOT_SIGN_KEY": "SECxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - } - } - } - }, - "jango-blockchained/personal-mcp-server": { - "mcpServers": { - "aashari/boilerplate-mcp-server": { - "command": "npx", - "args": [ - "-y", - "aashari/boilerplate-mcp-server" - ] - } - } - }, - "nlinhvu/spring-boot-bitcoin-mcp-server-2025": { - "mcpServers": { - "bitcoin-mcp-server": { - "command": "java", - "args": [ - "-jar", - "/absolute/path/to/bitcoin-mcp-server-0.0.1-SNAPSHOT.jar" - ] - } - } - }, - "yhzion/comment-stripper-mcp": { - "mcpServers": { - "comment-stripper": { - "command": "/\u00ec\u00a0\u0088\u00eb\u008c\u0080/\u00ea\u00b2\u00bd\u00eb\u00a1\u009c/node", - "args": [ - "/\u00ec\u00a0\u0088\u00eb\u008c\u0080/\u00ea\u00b2\u00bd\u00eb\u00a1\u009c/comment-stripper-mcp/build/index.js" - ] - } - } - }, - "recallnet/trading-simulator-mcp": { - "mcpServers": { - "trading-simulator-mcp": { - "name": "Trading Simulator MCP", - "type": "command", - "command": "node", - "args": [ - "/path/to/trading-simulator-mcp/dist/index.js" - ], - "env": { - "TRADING_SIM_API_KEY": "your_api_key_here", - "TRADING_SIM_API_URL": "http://localhost:3000", - "DEBUG": "true" - } - } - } - }, - "agentience/tribal_mcp_server": { - "mcpServers": [ - { - "name": "tribal", - "url": "http://localhost:5000" - } - ] - }, - "descope-sample-apps/descope-mcp-server": { - "mcpServers": { - "descope": { - "command": "node", - "args": [ - "/path/to/descope-mcp-server/build/index.js" - ], - "env": { - "DESCOPE_PROJECT_ID": "your-descope-project-id-here", - "DESCOPE_MANAGEMENT_KEY": "your-descope-management-key-here" - } - } - } - }, - "andybrandt/mcp-simple-openai-assistant": { - "mcpServers": { - "openai-assistant": { - "command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe", - "args": [ - "-m", - "mcp_simple_openai_assistant" - ], - "env": { - "OPENAI_API_KEY": "your-api-key-here" - } - } - } - }, - "abutbul/gatherings-mcp": { - "mcpServers": { - "gatherings": { - "command": "node", - "args": [ - "/path/to/gatherings-server/build/index.js" - ], - "env": { - "GATHERINGS_DB_PATH": "gatherings.db", - "GATHERINGS_SCRIPT": "/path/to/gatherings-server/gatherings.py" - }, - "disabled": false, - "autoApprove": [], - "alwaysAllow": [ - "create_gathering", - "add_expense", - "calculate_reimbursements", - "record_payment", - "rename_member", - "show_gathering", - "list_gatherings", - "close_gathering", - "delete_gathering", - "add_member", - "remove_member" - ], - "timeout": 300 - } - } - }, - "MCP-Mirror/ergut_mcp-bigquery-server": { - "mcpServers": { - "bigquery": { - "command": "node", - "args": [ - "/path/to/your/clone/mcp-bigquery-server/dist/index.js", - "--project-id", - "your-project-id", - "--location", - "us-central1", - "--key-file", - "/path/to/service-account-key.json" - ] - } - } - }, - "irvinebroque/remote-mcp-server-f": { - "mcpServers": { - "math": { - "command": "npx", - "args": [ - "mcp-remote", - "https://worker-name.account-name.workers.dev/sse" - ] - } - } - }, - "scorzeth/anki-mcp-server": { - "mcpServers": { - "anki-server": { - "command": "/path/to/anki-server/build/index.js" - } - } - }, - "tomekkorbak/oura-mcp-server": { - "mcpServers": { - "oura": { - "command": "uvx", - "args": [ - "oura-mcp-server" - ], - "env": { - "OURA_API_TOKEN": "YOUR_OURA_API_TOKEN" - } - } - } - }, - "amidabuddha/unichat-mcp-server": { - "mcpServers": { - "unichat-mcp-server": { - "command": "uvx", - "args": [ - "unichat-mcp-server" - ], - "env": { - "UNICHAT_MODEL": "SELECTED_UNICHAT_MODEL", - "UNICHAT_API_KEY": "YOUR_UNICHAT_API_KEY" - } - } - } - }, - "Sunwood-ai-labs/duckduckgo-web-search": { - "mcpServers": { - "duckduckgo-web-search": { - "command": "/path/to/duckduckgo-web-search/build/index.js" - } - } - }, - "MCP-Mirror/alexwohletz_language-server-mcp": { - "mcpServers": { - "language-server-mcp": { - "command": "/path/to/language-server-mcp/build/index.js" - } - } - }, - "MCP-Mirror/anpigon_mcp-server-obsidian-omnisearch": { - "mcpServers": { - "obsidian-omnisearch": { - "command": "uvx", - "args": [ - "mcp-server-obsidian-omnisearch", - "/path/to/your/obsidian/vault" - ] - } - } - }, - "dsomel21/weather-mcp-server": { - "mcpServers": { - "weather": { - "command": "uv", - "args": [ - "--directory", - "/ABSOLUTE/PATH/TO/PARENT/FOLDER/weather", - "run", - "weather.py" - ] - } - } - }, - "saptechengineer/mcp": { - "mcpServers": { - "weather": { - "command": "C:/Users/yourusername/AppData/Local/Programs/Python/Python311/Scripts/uv", - "args": [ - "--directory", - "C:/path/to/your/MCP/weather", - "run", - "weather.py" - ] - }, - "linkedin_profile_scraper": { - "command": "C:/Users/yourusername/AppData/Local/Programs/Python/Python311/Scripts/uv", - "args": [ - "--directory", - "C:/path/to/your/MCP/linkedin", - "run", - "linkedin.py" - ] - } - } - }, - "tinyfish-io/agentql-mcp": { - "mcpServers": { - "agentql": { - "command": "/path/to/agentql-mcp/dist/index.js", - "env": { - "AGENTQL_API_KEY": "YOUR_API_KEY" - } - } - } - }, - "tedlikeskix/alpaca-mcp-server": { - "mcpServers": { - "alpaca": { - "command": "python", - "args": [ - "/path/to/alpaca_mcp_server.py" - ], - "env": { - "API_KEY_ID": "your_alpaca_api_key", - "API_SECRET_KEY": "your_alpaca_secret_key" - } - } - } - }, - "QuantGeekDev/mcp-filesystem": { - "mcpServers": { - "filesystem": { - "command": "npx", - "args": [ - "filesystem" - ] - } - } - }, - "LukePrior/mcp-sondehub": { - "mcpServers": { - "github": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-github" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "" - } - } - } - }, - "punkpeye/fastmcp": { - "mcpServers": { - "my-mcp-server": { - "command": "npx", - "args": [ - "tsx", - "/PATH/TO/YOUR_PROJECT/src/index.ts" - ], - "env": { - "YOUR_ENV_VAR": "value" - } - } - } - }, - "sawa-zen/vrchat-mcp": { - "mcpServers": { - "vrchat-mcp": { - "command": "npx", - "args": [ - "vrchat-mcp" - ], - "env": { - "VRCHAT_USERNAME": "your-username", - "VRCHAT_PASSWORD": "your-password", - "VRCHAT_TOTP_SECRET": "your-totp-secret", - "VRCHAT_EMAIL": "your-email@example.com" - } - } - } - }, - "andybrandt/mcp-simple-pubmed": { - "mcpServers": { - "simple-pubmed": { - "command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe", - "args": [ - "-m", - "mcp_simple_pubmed" - ], - "env": { - "PUBMED_EMAIL": "your-email@example.com", - "PUBMED_API_KEY": "your-api-key" - } - } - } - }, - "vrknetha/aisdk-mcp-bridge": { - "mcpServers": { - "sse-server": { - "command": "node", - "args": [ - "./server.js" - ], - "mode": "sse", - "sseOptions": { - "endpoint": "http://localhost:3000/events", - "headers": {}, - "reconnectTimeout": 5000 - } - } - } - }, - "azure-ai-foundry/mcp-foundry": { - "mcpServers": { - "azure-agent": { - "command": "python", - "args": [ - "-m", - "azure_agent_mcp_server" - ], - "cwd": "/ABSOLUTE/PATH/TO/PARENT/FOLDER", - "env": { - "PYTHONPATH": "/ABSOLUTE/PATH/TO/PARENT/FOLDER", - "PROJECT_CONNECTION_STRING": "your-project-connection-string", - "DEFAULT_AGENT_ID": "your-default-agent-id" - } - } - } - }, - "Swayingleaves/uml-mcp-server": { - "mcpServers": { - "UML-MCP-Server": { - "command": "uv", - "args": [ - "--directory", - "/Users/yourpath/UML-MCP-Server", - "run", - "uml_mcp_server.py" - ], - "output_dir": "/Users/yourpath/uml-output" - } - } - }, - "MushroomFleet/DeepLucid3D-MCP": { - "mcpServers": { - "ucpf": { - "command": "node", - "args": [ - "path/to/DeepLucid3D-MCP/build/index.js" - ], - "env": {}, - "disabled": false, - "autoApprove": [] - } - } - }, - "MCP-Mirror/epaproditus_google-workspace-mcp-server": { - "mcpServers": { - "google-workspace": { - "command": "node", - "args": [ - "/path/to/google-workspace-server/build/index.js" - ], - "env": { - "GOOGLE_CLIENT_ID": "your_client_id", - "GOOGLE_CLIENT_SECRET": "your_client_secret", - "GOOGLE_REFRESH_TOKEN": "your_refresh_token" - } - } - } - }, - "identimoji/mcp-server-emojikey": { - "mcpServers": { - "emojikey": { - "command": "npx", - "args": [ - "@identimoji/mcp-server-emojikey" - ], - "env": { - "EMOJIKEYIO_API_KEY": "your-api-key-from-emojikey.io", - "MODEL_ID": "Claude-3-5-Sonnet-20241022" - } - } - } - }, - "run-llama/mcp-server-llamacloud": { - "mcpServers": { - "llamacloud": { - "command": "npx", - "args": [ - "-y", - "@llamaindex/mcp-server-llamacloud", - "--index", - "10k-SEC-Tesla", - "--description", - "10k SEC documents from 2023 for Tesla", - "--index", - "10k-SEC-Apple", - "--description", - "10k SEC documents from 2023 for Apple" - ], - "env": { - "LLAMA_CLOUD_PROJECT_NAME": "", - "LLAMA_CLOUD_API_KEY": "" - } - } - } - }, - "amitdeshmukh/stdout-mcp-server": { - "mcpServers": { - "mcp-installer": { - "command": "cmd.exe", - "args": [ - "/c", - "npx", - "stdio-mcp-server" - ] - } - } - }, - "NakaokaRei/swift-mcp-gui": { - "mcpServers": { - "swift-mcp-gui": { - "command": "/Users/USERNAME/.swiftpm/bin/swift-mcp-gui" - } - } - }, - "RafalWilinski/mcp-apple-notes": { - "mcpServers": { - "local-machine": { - "command": "/Users//.bun/bin/bun", - "args": [ - "/Users//apple-notes-mcp/index.ts" - ] - } - } - }, - "ParasSolanki/github-mcp-server": { - "mcpServers": { - "github": { - "command": "npx", - "args": [ - "-y", - "github-mcp-server" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "your_personal_github_access_token" - } - } - } - }, - "ualUsham/mcp-github": { - "mcpServers": { - "gh": { - "command": "node", - "args": [ - "absolute\\path\\to\\your\\index.js\\file" - ], - "env": { - "GITHUB_TOKEN": "your-github-personal-access-token" - } - } - } - }, - "box-community/mcp-server-box": { - "mcpServers": { - "mcp-server-box": { - "command": "uv", - "args": [ - "--directory", - "/Users/anovotny/Desktop/mcp-server-box", - "run", - "src/mcp_server_box.py" - ] - } - } - }, - "youngsu5582/mcp-server-mysql": { - "mcpServers": { - "mysql": { - "command": "uv", - "args": [ - "--directory", - "path/to/mysql_mcp_server", - "run", - "mysql_mcp_server" - ], - "env": { - "MYSQL_HOST": "localhost", - "MYSQL_PORT": "3306", - "MYSQL_USER": "your_username", - "MYSQL_PASSWORD": "your_password", - "MYSQL_DATABASE": "your_database" - } - } - } - }, - "alejandro-ao/mcp-server-example": { - "mcpServers": { - "mcp-server": { - "command": "uv", - "args": [ - "--directory", - "/ABSOLUTE/PATH/TO/YOUR/mcp-server", - "run", - "main.py" - ] - } - } - }, - "honey-guard/anchor-mcp": { - "mcpServers": { - "security_check_program": { - "command": "security_check_program", - "args": [ - "--mcp" - ] - }, - "security_check_file": { - "command": "security_check_file", - "args": [ - "--mcp" - ] - } - } - }, - "WillDent/pipedrive-mcp-server": { - "mcpServers": { - "pipedrive": { - "command": "npx", - "args": [ - "-y", - "@smithery/cli@latest", - "run", - "@your-org/pipedrive-mcp-server", - "--config", - "{\"pipedriveApiToken\":\"your_api_token_here\"}" - ] - } - } - }, - "MCP-Mirror/cyanheads_atlas-mcp-server": { - "mcpServers": { - "atlas": { - "command": "node", - "args": [ - "/path/to/atlas-mcp-server/build/index.js" - ], - "env": { - "ATLAS_STORAGE_DIR": "/path/to/storage/directory", - "ATLAS_STORAGE_NAME": "atlas-tasks", - "NODE_ENV": "production" - } - } - } - }, - "jonrad/lsp-mcp": { - "mcpServers": { - "lsp": { - "command": "npx", - "args": [ - "-y", - "--silent", - "git+https://github.com/jonrad/lsp-mcp", - "--lsp", - "npx -y --silent -p 'typescript@5.7.3' -p 'typescript-language-server@4.3.3' typescript-language-server --stdio" - ] - } - } - }, - "Szowesgad/mcp-server-semgrep": { - "mcpServers": { - "semgrep": { - "command": "node", - "args": [ - "/your_path/mcp-server-semgrep/build/index.js" - ], - "env": { - "SEMGREP_APP_TOKEN": "your_semgrep_app_token" - } - } - } - }, - "peterparker57/cpp-builder-mcp-server": { - "mcpServers": { - "cpp-builder": { - "command": "node", - "args": [ - "path/to/cpp-builder-mcp-server/dist/index.js" - ], - "env": {} - } - } - }, - "kukapay/whoami-mcp": { - "mcpServers": { - "whoami": { - "command": "uv", - "args": [ - "--directory", - "path/to/whoami_mcp", - "run", - "main.py" - ] - } - } - }, - "shivam-singhal/mcp-weather-server": { - "mcpServers": { - "github": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-github" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "" - } - } - } - }, - "ZbigniewTomanek/my-mcp-server": { - "globalShortcut": "", - "mcpServers": { - "zbigniew-mcp": { - "command": "/Users/zbigniewtomanek/.local/bin/uv", - "args": [ - "run", - "--with", - "mcp[cli]", - "--with", - "marker-pdf", - "mcp", - "run", - "/Users/zbigniewtomanek/PycharmProjects/my-mcp-tools/server.py" - ] - } - } - }, - "berlinbra/alpha-vantage-mcp": { - "mcpServers": { - "alpha-vantage-mcp": { - "args": [ - "--directory", - "/Users/{INSERT_USER}/YOUR/PATH/TO/alpha-vantage-mcp", - "run", - "alpha-vantage-mcp" - ], - "command": "uv", - "env": { - "ALPHA_VANTAGE_API_KEY": "" - } - } - } - }, - "OctagonAI/octagon-mcp-server": { - "mcpServers": { - "mcp-server-octagon": { - "command": "npx", - "args": [ - "-y", - "octagon-mcp" - ], - "env": { - "OCTAGON_API_KEY": "YOUR_API_KEY_HERE" - } - } - } - }, - "elliottlawson/kagi-mcp-server": { - "mcpServers": { - "kagi": { - "command": "node", - "args": [ - "ABSOLUTE_PATH_TO_REPO/build/index.js" - ], - "env": { - "KAGI_API_KEY": "YOUR_API_KEY_HERE" - } - } - } - }, - "Flux159/mcp-server-kubernetes": { - "mcpServers": { - "mcp-server-kubernetes": { - "command": "node", - "args": [ - "/path/to/your/mcp-server-kubernetes/dist/index.js" - ] - } - } - }, - "MCP-Mirror/skydeckai_mcp-server-aidd": { - "mcpServers": { - "aidd-ai-software-development-utilities": { - "command": "uvx", - "args": [ - "mcp-server-aidd" - ] - } - } - }, - "rhnvrm/kite-mcp-server": { - "mcpServers": { - "perplexity-ask": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-perplexity-ask" - ], - "env": { - "PERPLEXITY_API_KEY": "YOUR_API_KEY_HERE" - } - } - } - }, - "dazeb/wikipedia-mcp-image-crawler": { - "mcpServers": { - "wikipedia-mcp-server": { - "command": "node", - "args": [ - "/absolute/path/to/wikipedia-mcp-image-crawler/build/index.js" - ], - "disabled": false, - "autoApprove": [] - } - } - }, - "ayeletstudioindia/unreal-analyzer-mcp": { - "mcpServers": { - "unreal-analyzer": { - "command": "node", - "args": [ - "path/to/unreal-analyzer/build/index.js" - ], - "env": {} - } - } - }, - "MCP-Mirror/geelen_workers-mcp-server": { - "mcpServers": { - "": { - "command": "/node", - "args": [ - "/node_modules/tsx/dist/cli.mjs", - "/scripts/local-proxy.ts", - "", - "", - "" - ] - } - } - }, - "gxjansen/Transistor-MCP": { - "mcpServers": { - "transistor": { - "command": "node", - "args": [ - "path/to/Transistor-MCP/build/index.js" - ], - "env": { - "TRANSISTOR_API_KEY": "your-api-key-here" - } - } - } - }, - "QuantGeekDev/fiscal-data-mcp": { - "mcpServers": { - "fiscal-data": { - "command": "npx", - "args": [ - "fiscal-data-mcp" - ] - } - } - }, - "MaxWeeden/mcp-server-template-python": { - "mcpServers": { - "dnsdumpster": { - "command": "uvx", - "args": [ - "mcp-dnsdumpster" - ], - "env": { - "DNSDUMPSTER_API_KEY": "your_api_key_here" - } - } - } - }, - "MCP-Mirror/nahmanmate_postgresql-mcp-server": { - "mcpServers": { - "postgresql-mcp": { - "command": "node", - "args": [ - "/path/to/postgresql-mcp-server/build/index.js" - ], - "disabled": false, - "alwaysAllow": [] - } - } - }, - "krzko/google-cloud-mcp": { - "mcpServers": { - "google-cloud-mcp": { - "command": "node", - "args": [ - "/Users/foo/code/google-cloud-mcp/dist/index.js" - ], - "env": { - "GOOGLE_APPLICATION_CREDENTIALS": "/Users/foo/.config/gcloud/application_default_credentials.json" - } - } - } - }, - "GreatAuk/mcp-weather": { - "mcpServers": { - "your-server-name": { - "command": "node", - "args": [ - "/path/to/your/project/dist/main.js", - "some_argument" - ] - } - } - }, - "jae-jae/fetcher-mcp": { - "mcpServers": { - "fetcher": { - "command": "npx", - "args": [ - "-y", - "fetcher-mcp" - ] - } - } - }, - "adamwattis/mcp-proxy-server": { - "mcpServers": { - "mcp-proxy": { - "command": "/path/to/mcp-proxy-server/build/index.js", - "env": { - "MCP_CONFIG_PATH": "/absolute/path/to/your/config.json", - "KEEP_SERVER_OPEN": "1" - } - } - } - }, - "evansims/openfga-mcp": { - "mcpServers": { - "openfga-mcp": { - "command": "uvx", - "args": [ - "openfga-mcp@latest" - ] - } - } - }, - "haltakov/meme-mcp": { - "mcpServers": { - "meme": { - "command": "/Users//.nvm/versions/node/v20.18.2/bin/node", - "args": [ - "/Users//.nvm/versions/node/v20.18.2/lib/node_modules/meme-mcp/dist/index.js" - ], - "env": { - "IMGFLIP_USERNAME": "", - "IMGFLIP_PASSWORD": "" - } - } - } - }, - "l3wi/mcp-lighthouse": { - "mcpServers": { - "lighthouse": { - "command": "path/to/node/installation", - "args": [ - "path/to/this/folder/mcp-lighthouse/dist/index.js" - ] - } - } - }, - "lalanikarim/comfy-mcp-server": { - "mcpServers": { - "Comfy MCP Server": { - "command": "/path/to/uvx", - "args": [ - "comfy-mcp-server" - ], - "env": { - "COMFY_URL": "http://your-comfy-server-url:port", - "COMFY_WORKFLOW_JSON_FILE": "/path/to/the/comfyui_workflow_export.json", - "PROMPT_NODE_ID": "6", - "OUTPUT_NODE_ID": "9", - "OUTPUT_MODE": "file" - } - } - } - }, - "biegehydra/BifrostMCP": { - "mcpServers": { - "BackendAPI": { - "url": "http://localhost:5643/backend-api/sse" - }, - "FrontendApp": { - "url": "http://localhost:5644/frontend-app/sse" - } - } - }, - "JESwaim/OpenAI-MCP-Server": { - "mcpServers": { - "flux": { - "command": "flux-server", - "env": { - "REPLICATE_API_TOKEN": "your-replicate-token" - } - } - } - }, - "amgadabdelhafez/DBX-MCP-Server": { - "mcpServers": { - "dbx": { - "command": "node", - "args": [ - "/path/to/dbx-mcp-server/build/index.js" - ] - } - } - }, - "MCP-Mirror/peterparker57_project-hub-mcp-server": { - "mcpServers": { - "project-hub": { - "command": "node", - "args": [ - "path/to/project-hub-mcp-server/dist/index.js" - ], - "env": { - "DEFAULT_OWNER": "your-github-username", - "GITHUB_TOKEN_your-github-username": "your-github-token" - } - } - } - }, - "MCP-Mirror/adamwattis_mcp-proxy-server": { - "mcpServers": { - "mcp-proxy": { - "command": "/path/to/mcp-proxy-server/build/index.js", - "env": { - "MCP_CONFIG_PATH": "/absolute/path/to/your/config.json" - } - } - } - }, - "zoomeye-ai/mcp_zoomeye": { - "mcpServers": { - "zoomeye": { - "command": "python", - "args": [ - "-m", - "mcp_server_zoomeye" - ], - "env": { - "ZOOMEYE_API_KEY": "your_api_key_here" - } - } - } - }, - "LiMing1459276281/test-demo.git": { - "mcpServers": { - "tavily": { - "command": "npx", - "args": [ - "/path/to/tavi" - ], - "env": { - "TAVILY_API_KEY": "your-api-key-here" - } - } - } - }, - "MCP-Mirror/MladenSU_cli-mcp-server": { - "mcpServers": { - "cli-mcp-server": { - "command": "uvx", - "args": [ - "cli-mcp-server" - ], - "env": { - "ALLOWED_DIR": "", - "ALLOWED_COMMANDS": "ls,cat,pwd,echo", - "ALLOWED_FLAGS": "-l,-a,--help,--version", - "MAX_COMMAND_LENGTH": "1024", - "COMMAND_TIMEOUT": "30" - } - } - } - }, - "metoro-io/mcp-golang": { - "mcpServers": { - "golang-mcp-server": { - "command": "", - "args": [], - "env": {} - } - } - }, - "Aiven-Open/mcp-aiven": { - "mcpServers": { - "mcp-aiven": { - "command": "uv", - "args": [ - "--directory", - "$REPOSITORY_DIRECTORY", - "run", - "--with-editable", - "$REPOSITORY_DIRECTORY", - "--python", - "3.13", - "mcp-aiven" - ], - "env": { - "AIVEN_BASE_URL": "https://api.aiven.io", - "AIVEN_TOKEN": "$AIVEN_TOKEN" - } - } - } - }, - "cmsparks/remote-mcp-server": { - "mcpServers": { - "math": { - "command": "npx", - "args": [ - "mcp-remote", - "https://worker-name.account-name.workers.dev/sse" - ] - } - } - }, - "sammcj/mcp-package-docs": { - "mcpServers": { - "package-docs": { - "command": "npx", - "args": [ - "-y", - "mcp-package-docs" - ], - "env": { - "ENABLE_LSP": "true", - "TYPESCRIPT_SERVER": { - "command": "/custom/path/typescript-language-server", - "args": [ - "--stdio" - ] + }, + "mixelpixx/Google-Search-MCP-Server": { + "package_name": "mixelpixx/Google-Search-MCP-Server", + "repo_url": "https://github.com/mixelpixx/Google-Search-MCP-Server", + "command": "C:\\Program Files\\odejs\\ode.exe", + "args": [ + "C:\\path\\to\\google-search-mcp\\dist\\google-search.js" + ], + "env": { + "GOOGLE_API_KEY": "${GOOGLE_API_KEY}", + "GOOGLE_SEARCH_ENGINE_ID": "${GOOGLE_SEARCH_ENGINE_ID}" } - } - } - } - }, - "MaartenSmeets/mcp-server-fetch": { - "mcpServers": { - "fetch": { - "command": "docker", - "args": [ - "run", - "--rm", - "-i", - "mcp-server-fetch" - ], - "disabled": false, - "alwaysAllow": [] - } - } - }, - "kei0440/dice-mcp-server": { - "mcpServers": { - "github": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-github" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "" - } - } - } - }, - "crewAIInc/enterprise-mcp-server": { - "mcpServers": { - "crewai_enterprise_server": { - "command": "uv", - "args": [ - "run", - "--with", - "mcp[cli]", - "mcp", - "run", - "", - "/crewai_enterprise_server.py" - ], - "env": { - "MCP_CREWAI_ENTERPRISE_SERVER_URL": "<>", - "MCP_CREWAI_ENTERPRISE_BEARER_TOKEN": "<>" - } - } - } - }, - "AgentWong/iac-memory-mcp-server-project": { - "mcpServers": { - "iac-memory": { - "command": "uvx", - "args": [ - "--from", - "git+https://github.com/AgentWong/iac-memory-mcp-server.git", - "python", - "-m", - "iac_memory_mcp_server" - ], - "env": { - "DATABASE_URL": "sqlite:////home/herman/iac.db" - } - } - } - }, - "bash0C7/mcp-ruby-skeleton": { - "mcpServers": { - "random-number": { - "command": "ruby", - "args": [ - "/Users/bash/src/mcp-ruby-skeleton/bin/run_server.rb" - ] - } - } - }, - "springwq/jampp_mcp_server": { - "mcpServers": { - "jampp": { - "command": "python", - "args": [ - "path/to/jampp_mcp_server.py" - ], - "env": { - "JAMPP_CLIENT_ID": "your_client_id", - "JAMPP_CLIENT_SECRET": "your_client_secret" - } - } - } - }, - "jiantao88/android-mcp-server": { - "mcpServers": { - "adb": { - "command": "node", - "args": [ - "/path/to/android-mcp-server/build/index.js", - "/usr/local/bin/adb" - ] - } - } - }, - "SecretiveShell/MCP-llms-txt": { - "mcpServers": { - "mcp-llms-txt": { - "command": "uvx", - "args": [ - "mcp-llms-txt" - ], - "env": { - "PYTHONUTF8": "1" - } - } - } - }, - "sooperset/mcp-atlassian": { - "mcpServers": { - "mcp-atlassian": { - "command": "uv", - "args": [ - "--directory", - "/path/to/your/mcp-atlassian", - "run", - "mcp-atlassian", - "--confluence-url=https://your-domain.atlassian.net/wiki", - "--confluence-username=your.email@domain.com", - "--confluence-token=your_api_token", - "--jira-url=https://your-domain.atlassian.net", - "--jira-username=your.email@domain.com", - "--jira-token=your_api_token" - ] - } - } - }, - "learnwithcc/mcp-directus": { - "mcpServers": { - "directus-mcp": { - "url": "http://localhost:3000/mcp/v1", - "description": "Directus CMS Integration" - } - } - }, - "MCP-Mirror/amir-bengherbi_shopify-mcp-server": { - "mcpServers": { - "shopify": { - "command": "npx", - "args": [ - "-y", - "shopify-mcp-server" - ], - "env": { - "SHOPIFY_ACCESS_TOKEN": "", - "MYSHOPIFY_DOMAIN": ".myshopify.com" - } - } - } - }, - "dheerajoruganty/aws-bedrock-logs-mcp-server": { - "mcpServers": { - "aws_bedrock_logs": { - "command": "uv", - "args": [ - "--directory", - "/path/to/aws-bedrock-logs-mcp", - "run", - "cloudwatch_mcp_server.py" - ] - } - } - }, - "MCP-Mirror/AI-FE_dify-mcp-server": { - "mcpServers": { - "dify-server": { - "command": "node", - "args": [ - "your/path/dify-server/build/index.js" - ], - "env": { - "DIFY_API_KEY": "***" - } - } - } - }, - "JustaName-id/ens-mcp-server": { - "mcpServers": { - "ens": { - "command": "node", - "args": [ - "/path/to/your/server.js" - ], - "env": { - "PROVIDER_URL": "https://your-provider-url.com,https://your-backup-provider.com" - } - } - } - }, - "MCP-Mirror/SimonB97_win-cli-mcp-server": { - "mcpServers": { - "windows-cli": { - "command": "npx", - "args": [ - "-y", - "@simonb97/server-win-cli", - "--config", - "path/to/your/config.json" - ] - } - } - }, - "truss44/mcp-crypto-price": { - "mcpServers": { - "mcp-crypto-price": { - "command": "npx", - "args": [ - "-y", - "mcp-crypto-price" - ], - "env": { - "COINCAP_API_KEY": "YOUR_API_KEY_HERE" - } - } - } - }, - "privetin/dataset-viewer": { - "mcpServers": { - "dataset-viewer": { - "command": "uv", - "args": [ - "run", - "dataset-viewer" - ] - } - } - }, - "yuru-sha/mcp-server-mysql": { - "mcpServers": { - "mysql": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "mcp/mysql", - "mysql://host:port/dbname" - ] - } - } - }, - "bkataru-workshop/mcp-duckduckresearch": { - "mcpServers": { - "duckduckmcp": { - "command": "node", - "args": [ - "path/to/mcp-duckduckresearch/build/index.js" - ], - "disabled": false, - "alwaysAllow": [] - } - } - }, - "waystation-ai/mcp": { - "mcpServers": { - "filesystem": { - "...": "..." - }, - "waystation": { - "command": "npx", - "args": [ - "-y", - "@waystation/mcp", - "" - ] - } - } - }, - "YiyangLi/sms-mcp-server": { - "mcpServers": { - "twilio": { - "command": "npx", - "args": [ - "-y", - "@yiyang.1i/sms-mcp-server" - ], - "env": { - "ACCOUNT_SID": "your_account_sid", - "AUTH_TOKEN": "your_auth_token", - "FROM_NUMBER": "your_twilio_number" - } - } - } - }, - "non-dirty/mcp-server-restart": { - "mcpServers": { - "mcp-server-restart": { - "command": "uvx", - "args": [ - "mcp-server-restart" - ] - } - } - }, - "MCP-Mirror/GongRzhe_REDIS-MCP-Server": { - "mcpServers": { - "redis": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "mcp/redis", - "redis://host.docker.internal:6379" - ] - } - } - }, - "irvinebroque/remote-mcp-server": { - "mcpServers": { - "math": { - "command": "npx", - "args": [ - "mcp-remote", - "https://worker-name.account-name.workers.dev/sse" - ] - } - } - }, - "riemannzeta/patent_mcp_server": { - "mcpServers": { - "patents": { - "command": "uv", - "args": [ - "--directory", - "/Users/username/patent_mcp_server", - "run", - "patent-mcp-server" - ] - } - } - }, - "chris-miaskowski/custom-gitlab-mcp-server": { - "mcpServers": { - "github.com/modelcontextprotocol/servers/tree/main/src/gitlab": { - "command": "node", - "args": [ - "/path/to/custom-gitlab-server/index.js" - ], - "env": { - "GITLAB_PERSONAL_ACCESS_TOKEN": "your-gitlab-token", - "GITLAB_API_URL": "https://your-gitlab-instance/api/v4" - } - } - } - }, - "ravitemer/mcp-hub": { - "mcpServers": { - "stdio-server": { - "command": "npx", - "args": [ - "example-server" - ], - "env": { - "API_KEY": "", - "DEBUG": "true", - "SECRET_TOKEN": null - }, - "disabled": false - }, - "sse-server": { - "url": "https://api.example.com/mcp", - "headers": { - "Authorization": "Bearer token", - "Content-Type": "application/json" - }, - "disabled": false - } - } - }, - "bitibi/OpenAI-WebSearch-MCP-Server": { - "mcpServers": { - "openai_websearch": { - "command": "npx", - "args": [ - "-y", - "openai-websearch-mcp-server" - ], - "env": { - "OPENAI_API_KEY": "your_api_key" - } - } - } - }, - "port-experimental/port-mcp-server": { - "mcpServers": { - "port": { - "command": "uvx", - "args": [ - "mcp-server-port@0.1.4", - "--client-id", - "YOUR_CLIENT_ID", - "--client-secret", - "YOUR_CLIENT_SECRET", - "--region", - "REGION" - ] - } - } - }, - "tayler-id/social-media-mcp": { - "mcpServers": { - "social-media-mcp": { - "command": "node", - "args": [ - "path/to/social-media-mcp/build/index.js" - ], - "env": { - "TWITTER_API_KEY": "your_api_key", - "TWITTER_API_SECRET": "your_api_secret", - "TWITTER_BEARER_TOKEN": "your_bearer_token", - "TWITTER_ACCESS_TOKEN": "your_access_token", - "TWITTER_ACCESS_SECRET": "your_access_secret", - "TWITTER_OAUTH_CLIENT": "your_oauth_client", - "TWITTER_CLIENT_SECRET": "your_client_secret", - "MASTODON_CLIENT_SECRET": "your_client_secret", - "MASTODON_CLIENT_KEY": "your_client_key", - "MASTODON_ACCESS_TOKEN": "your_access_token", - "LINKEDIN_CLIENT_ID": "your_client_id", - "LINKEDIN_CLIENT_SECRET": "your_client_secret", - "LINKEDIN_ACCESS_TOKEN": "your_access_token", - "ANTHROPIC_API_KEY": "your_anthropic_key", - "OPENAI_API_KEY": "your_openai_key", - "BRAVE_API_KEY": "your_brave_key" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "MCP-Mirror/cyanheads_mentor-mcp-server": { - "mcpServers": { - "mentor": { - "command": "node", - "args": [ - "build/index.js" - ], - "env": { - "DEEPSEEK_API_KEY": "your_api_key", - "DEEPSEEK_MODEL": "deepseek-reasoner", - "DEEPSEEK_MAX_TOKENS": "8192", - "DEEPSEEK_MAX_RETRIES": "3", - "DEEPSEEK_TIMEOUT": "30000" - } - } - } - }, - "jae-jae/fetch-mcp": { - "mcpServers": { - "fetch": { - "command": "npx", - "args": [ - "-y", - "github:jae-jae/fetch-mcp" - ] - } - } - }, - "benborla/mcp-server-mysql": { - "mcpServers": { - "mcp_server_mysql": { - "command": "/full/path/to/node", - "args": [ - "/full/path/to/mcp-server-mysql/dist/index.js" - ], - "env": { - "MYSQL_HOST": "127.0.0.1", - "MYSQL_PORT": "3306", - "MYSQL_USER": "root", - "MYSQL_PASS": "your_password", - "MYSQL_DB": "your_database" - } - } - } - }, - "lowprofix/n8n-mcp-server": { - "mcpServers": { - "n8n-mcp-server": { - "command": "node", - "args": [ - "/chemin/absolu/vers/mcp-n8n-server/dist/server.js" - ] - } - } - }, - "irvinebroque/remote-mcp-server-test-again": { - "mcpServers": { - "math": { - "command": "npx", - "args": [ - "mcp-remote", - "https://worker-name.account-name.workers.dev/sse" - ] - } - } - }, - "Simon-Kansara/ableton-live-mcp-server": { - "mcpServers": { - "Ableton Live Controller": { - "command": "/path/to/your/project/.venv/bin/python", - "args": [ - "/path/to/your/project/mcp_ableton_server.py" - ] - } - } - }, - "icraft2170/youtube-data-mcp-server": { - "mcpServers": { - "youtube": { - "command": "npx", - "args": [ - "-y", - "youtube-data-mcp-server" - ], - "env": { - "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE", - "YOUTUBE_TRANSCRIPT_LANG": "ko" - } - } - } - }, - "cnosuke/mcp-meilisearch": { - "mcpServers": { - "sqlite": { - "command": "./bin/mcp-meilisearch", - "args": [ - "server", - "--no-logs", - "--log", - "path_to_log_file" - ], - "env": { - "MEILISEARCH_HOST": "http://localhost:7700", - "MEILISEARCH_API_KEY": "api_key" - } - } - } - }, - "edobez/mcp-memory-py": { - "mcpServers": { - "memory-python": { - "command": "uvx", - "args": [ - "--refresh", - "--quiet", - "mcp-memory-py" - ], - "env": { - "MEMORY_FILE_PATH": "/path/to/custom/memory.json" - } - } - } - }, - "ahmad2x4/mcp-server-seq": { - "mcpServers": { - "seq": { - "command": "node", - "args": [ - "/Users/ahmadreza/source/ahmad2x4/mcp-server-seq/build/seq-server.js" - ], - "env": { - "SEQ_BASE_URL": "your-seq-url", - "SEQ_API_KEY": "your-api-key" - } - } - } - }, - "MCP-Mirror/ivo-toby_mcp-openapi-server": { - "mcpServers": { - "openapi": { - "command": "npx", - "args": [ - "-y", - "@ivotoby/openapi-mcp-server" - ], - "env": { - "API_BASE_URL": "https://api.example.com", - "OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json", - "API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key" - } - } - } - }, - "its-dart/dart-mcp-server": { - "mcpServers": { - "dart": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "-e", - "DART_TOKEN", - "mcp/dart" - ], - "env": { - "DART_TOKEN": "dsa_..." - } - } - } - }, - "elitau/mcp-server-make-dot-com": { - "mcpServers": { - "make-dot-com": { - "command": "node", - "args": [ - "/full/absolute/path/to/mcp-server-make-dot-com/dist/index.js" - ], - "env": { - "MAKE_DOT_COM_API_KEY": "your-api-key-from-make-dot-com", - "MAKE_DOT_COM_BASE_URL": "eu2.make.com" - } - } - } - }, - "dillip285/mcp-dev-server": { - "mcpServers": { - "dev": { - "command": "mcp-dev-server", - "args": [] - } - } - }, - "yoda-digital/mcp-gitlab-server": { - "mcpServers": { - "gitlab-readonly": { - "command": "npx", - "args": [ - "-y", - "@yoda.digital/gitlab-mcp-server" - ], - "env": { - "GITLAB_PERSONAL_ACCESS_TOKEN": "your_token_here", - "GITLAB_API_URL": "https://gitlab.com/api/v4", - "GITLAB_READ_ONLY_MODE": "true" - }, - "alwaysAllow": [], - "disabled": false - } - } - }, - "MCP-Mirror/twolven_mcp-server-puppeteer-py": { - "mcpServers": { - "puppeteer": { - "command": "python", - "args": [ - "path/to/puppeteer.py" - ] - } - } - }, - "jagan-shanmugam/mattermost-mcp-client": { - "mcpServers": { - "ollama-mcp-server": { - "command": "python", - "args": [ - "ollama-mcp-server/src/ollama_mcp_server/main.py" - ], - "type": "stdio" - }, - "simple-mcp-server": { - "command": "python", - "args": [ - "simple-mcp-server/server.py" - ], - "type": "stdio" - }, - "mattermost-mcp-server": { - "command": "python", - "args": [ - "mattermost-mcp-server/src/mattermost_mcp_server/server.py" - ], - "type": "stdio" - } - } - }, - "screenshotone/mcp": { - "mcpServers": { - "screenshotone": { - "command": "node", - "args": [ - "path/to/screenshotone/mcp/build/index.js" - ], - "env": { - "SCREENSHOTONE_API_KEY": "" - } - } - } - }, - "GongRzhe/REDIS-MCP-Server": { - "mcpServers": { - "redis": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "mcp/redis", - "redis://host.docker.internal:6379" - ] - } - } - }, - "nicozumarraga/light-mcp-agents": { - "mcpServers": { - "research-agent": { - "command": "/bin/bash", - "args": [ - "-c", - "/path/to/your/venv/bin/python /path/to/your/agent_runner.py --config=/path/to/your/agent_config.json --server-mode" - ], - "env": { - "PYTHONPATH": "/path/to/your/project", - "PATH": "/path/to/your/venv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" - } - } - } - }, - "aws-samples/sample-mcp-server-s3": { - "mcpServers": { - "s3-mcp-server": { - "command": "uvx", - "args": [ - "s3-mcp-server" - ] - } - } - }, - "Sheshiyer/framer-plugin-mcp": { - "mcpServers": { - "framer-plugin": { - "command": "node", - "args": [ - "/path/to/framer-plugin-mcp/build/index.js" - ] - } - } - }, - "GobinFan/python-mcp-server-client": { - "mcpServers": { - "mcp-server": { - "command": "uv", - "args": [ - "--directory", - "<\u00e4\u00bd\u00a0\u00e7\u009a\u0084\u00e9\u00a1\u00b9\u00e7\u009b\u00ae\u00e8\u00b7\u00af\u00e5\u00be\u0084>", - "run", - "main.py" - ] - } - } - }, - "sammcj/mcp-package-version": { - "mcpServers": { - "package-version": { - "url": "http://localhost:18080" - } - } - }, - "sammcj/mcp-github-issue": { - "mcpServers": { - "github-issue": { - "command": "npx", - "args": [ - "mcp-github-issue" - ] - } - } - }, - "Ejb503/systemprompt-mcp-notion": { - "mcpServers": { - "notion": { - "command": "node", - "args": [ - "./node_modules/systemprompt-mcp-notion/build/index.js" - ], - "env": { - "SYSTEMPROMPT_API_KEY": "your_systemprompt_api_key", - "NOTION_API_KEY": "your_notion_integration_token" - } - } - } - }, - "stat-guy/chain-of-draft": { - "mcpServers": { - "chain-of-draft": { - "command": "node", - "args": [ - "/absolute/path/to/cod/index.js" - ], - "env": { - "ANTHROPIC_API_KEY": "your_api_key_here" - } - } - } - }, - "tomekkorbak/strava-mcp-server": { - "mcpServers": { - "strava": { - "command": "uvx", - "args": [ - "strava-mcp-server" - ], - "env": { - "STRAVA_CLIENT_ID": "YOUR_CLIENT_ID", - "STRAVA_CLIENT_SECRET": "YOUR_CLIENT_SECRET", - "STRAVA_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN" - } - } - } - }, - "MCP-Mirror/crazyrabbitLTC_mcp-expert-server": { - "mcpServers": { - "expert": { - "command": "node", - "args": [ - "/ABSOLUTE/PATH/TO/expert-server/build/index.js" - ], - "env": { - "ANTHROPIC_API_KEY": "your_api_key_here" - } - } - } - }, - "random-robbie/mcp-web-browser": { - "mcpServers": { - "web-browser": { - "command": "python", - "args": [ - "/path/to/your/server.py" - ] - } - } - }, - "yokingma/time-mcp": { - "mcpServers": { - "time-mcp": { - "command": "npx", - "args": [ - "-y", - "time-mcp" - ] - } - } - }, - "CaptainCrouton89/planner": { - "mcpServers": { - "task-planner": { - "command": "node", - "args": [ - "/absolute/path/to/task-planner-mcp/dist/index.js" - ] - } - } - }, - "MCP-Mirror/r-huijts_ns-mcp-server": { - "mcpServers": { - "ns-server": { - "command": "node", - "args": [ - "/path/to/ns-server/build/index.js" - ], - "env": { - "NS_API_KEY": "your_api_key_here" - } - } - } - }, - "billster45/mcp-chatgpt-responses": { - "mcpServers": { - "chatgpt": { - "command": "uv", - "args": [ - "--directory", - "\\path\\to\\mcp-chatgpt-responses", - "run", - "chatgpt_server.py" - ], - "env": { - "OPENAI_API_KEY": "your-api-key-here", - "DEFAULT_MODEL": "gpt-4o", - "DEFAULT_TEMPERATURE": "0.7", - "MAX_TOKENS": "1000" - } - } - } - }, - "jimpick/mcp-json-db-collection-server": { - "mcpServers": { - "json-db-collections": { - "command": "npx", - "args": [ - "-y", - "@jimpick/mcp-json-db-collection-server" - ] - } - } - }, - "dested/factorio-mcp-server": { - "mcpServers": { - "mcp-starter": { - "command": "node", - "args": [ - "/Users/matt/code/mcp-starter/dist/index.cjs" - ] - } - } - }, - "ognis1205/mcp-server-unitycatalog": { - "mcpServers": { - "unitycatalog": { - "command": "docker", - "args": [ - "run", - "--rm", - "-i", - "mcp/unitycatalog", - "--uc_server", - "", - "--uc_catalog", - "", - "--uc_schema", - "" - ] - } - } - }, - "MCP-Mirror/tumf_mcp-shell-server": { - "mcpServers": { - "shell": { - "command": "uv", - "args": [ - "--directory", - ".", - "run", - "mcp-shell-server" - ], - "env": { - "ALLOW_COMMANDS": "ls,cat,pwd,grep,wc,touch,find" - } - } - } - }, - "QuantGeekDev/mcp-framework": { - "mcpServers": { - "${projectName}": { - "command": "npx", - "args": [ - "${projectName}" - ] - } - } - }, - "shreyaskarnik/mcpet": { - "mcpServers": { - "mcpet": { - "command": "node", - "args": [ - "/path/to/mcpet/build/index.js" - ], - "env": { - "PET_DATA_DIR": "/path/to/writable/directory" - } - } - } - }, - "Jacck/mcp-ortools": { - "mcpServers": { - "ortools": { - "command": "python", - "args": [ - "-m", - "mcp_ortools.server" - ] - } - } - }, - "prasanthmj/primitive-go-mcp-server": { - "mcpServers": { - "imagegen-go": { - "command": "/path/to/imagegen-go/bin/imagegen-go", - "env": { - "OPENAI_API_KEY": "your-api-key", - "DEFAULT_DOWNLOAD_PATH": "/path/to/downloads" - } - } - } - }, - "githejie/mcp-server-calculator": { - "mcpServers": { - "calculator": { - "command": "python", - "args": [ - "-m", - "mcp_server_calculator" - ] - } - } - }, - "arcaputo3/mcp-server-whisper": { - "mcpServers": { - "whisper": { - "command": "uvx", - "args": [ - "--with", - "aiofiles", - "--with", - "mcp[cli]", - "--with", - "openai", - "--with", - "pydub", - "mcp-server-whisper" - ], - "env": { - "OPENAI_API_KEY": "your_openai_api_key", - "AUDIO_FILES_PATH": "/path/to/your/audio/files" - } - } - } - }, - "melaodoidao/datagov-mcp-server": { - "mcpServers": { - "datagov": { - "command": "datagov-mcp-server", - "args": [], - "env": {} - } - } - }, - "syedazharmbnr1/ClaudeMCPServer": { - "mcpServers": { - "filesystem": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-filesystem", - "" - ] - }, - "duckdb": { - "command": "/path/to/python", - "args": [ - "/path/to/fastapi/duckdb/main.py" - ], - "cwd": "/path/to/fastapi/duckdb", - "env": { - "PYTHONPATH": "/path/to/mcp-server-py", - "PORT": "8010" - } - } - } - }, - "JackKuo666/mcp-server-bioRxiv": { - "mcpServers": { - "medrxiv": { - "command": "bash", - "args": [ - "-c", - "source /home/YOUR/PATH/mcp-server-bioRxiv/.venv/bin/activate && python /home/YOUR/PATH/mcp-server-bioRxiv/medrxiv_server.py" - ], - "env": {}, - "disabled": false, - "autoApprove": [] - } - } - }, - "Dienvm/mcp-servers": { - "mcpServers": { - "github": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-github" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "your-token-here" - } - }, - "puppeteer": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-puppeteer" - ], - "env": {} - } - } - }, - "giovannicocco/mcp-server-postman-tool-generation": { - "mcpServers": { - "postman-ai-tools": { - "command": "node", - "args": [ - "/path/to/postman-tool-generation-server/build/index.js" - ], - "env": { - "POSTMAN_API_KEY": "your-postman-api-key" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "wesnermichel/nexus-mcp-claude-desktop-server": { - "mcpServers": { - "nexus-bridge": { - "url": "http://localhost:3000/mcp", - "disabled": false, - "alwaysAllow": [ - "get_system_info", - "read_file", - "write_file", - "create_directory", - "list_directory", - "get_project_status" - ] - } - } - }, - "MCP-Mirror/Automata-Labs-team_MCP-Server-Playwright": { - "mcpServers": { - "playwright": { - "command": "npx", - "args": [ - "-y", - "@automatalabs/mcp-server-playwright" - ] - } - } - }, - "shanejonas/openrpc-mpc-server": { - "mcpServers": { - "openrpc": { - "command": "npx", - "args": [ - "-y", - "openrpc-mcp-server" - ] - } - } - }, - "MCP-Mirror/toolhouse-community_mcp-server-toolhouse": { - "mcpServers": { - "mcp-server-toolhouse": { - "command": "uv", - "args": [ - "--directory", - "/path/to/this/folder/mcp-server-toolhouse", - "run", - "mcp-server-toolhouse" - ], - "env": { - "TOOLHOUSE_API_KEY": "your_toolhouse_api_key", - "GROQ_API_KEY": "your_groq_api_key", - "TOOLHOUSE_BUNDLE_NAME": "a_bundle_name" - } - } - } - }, - "pinkpixel-dev/mem0-mcp": { - "mcpServers": { - "mem0-mcp": { - "command": "node", - "args": [ - "path/to/mem0-mcp/build/index.js" - ], - "env": { - "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", - "DEFAULT_USER_ID": "user123" - } - } - } - }, - "yuna0x0/hackmd-mcp": { - "mcpServers": { - "hackmd": { - "command": "npx", - "args": [ - "-y", - "hackmd-mcp" - ], - "env": { - "HACKMD_API_TOKEN": "your_api_token" - } - } - } - }, - "gamalan/mcp-email-client": { - "mcpServers": { - "mcp_email_client": { - "command": "uv", - "args": [ - "run", - "--directory", - "D:\\Project\\replace-with-repo-folder-location", - "mcp_email_client" - ] - } - } - }, - "hannesrudolph/mcp-ragdocs": { - "mcpServers": { - "rag-docs": { - "command": "npx", - "args": [ - "-y", - "@hannesrudolph/mcp-ragdo" - ], - "env": { - "OPENAI_API_KEY": "", - "QDRANT_URL": "", - "QDRANT_API_KEY": "" - } - } - } - }, - "dazeb/cline-mcp-memory-bank": { - "mcpServers": { - "memory-bank": { - "command": "node", - "args": [ - "/path/to/cline-memory-bank/build/index.js" - ], - "disabled": false, - "autoApprove": [] - } - } - }, - "integromat/make-mcp-server": { - "mcpServers": { - "make": { - "command": "npx", - "args": [ - "-y", - "@makehq/mcp-server" - ], - "env": { - "MAKE_API_KEY": "", - "MAKE_ZONE": "", - "MAKE_TEAM": "" - } - } - } - }, - "wshobson/mcp-trader": { - "mcpServers": { - "stock-analyzer": { - "command": "uv", - "args": [ - "--directory", - "/absolute/path/to/mcp-trader", - "run", - "mcp-trader" - ], - "env": { - "TIINGO_API_KEY": "your_api_key_here" - } - } - } - }, - "Jacck/mcp-reasoner": { - "mcpServers": { - "mcp-reasoner": { - "command": "node", - "args": [ - "path/to/mcp-reasoner/dist/index.js" - ] - } - } - }, - "aashari/rag-browser": { - "bun": { - "mcpServers": { - "rag-browser": { - "command": "bunx", + }, + "alexatnordnet/mcp-google-custom-search-server": { + "package_name": "alexatnordnet/mcp-google-custom-search-server", + "repo_url": "https://github.com/alexatnordnet/mcp-google-custom-search-server", + "command": "node", + "args": [ + "/absolute/path/to/mcp-google-custom-search-server/build/index.js" + ], + "env": { + "GOOGLE_API_KEY": "${GOOGLE_API_KEY}", + "GOOGLE_SEARCH_ENGINE_ID": "${GOOGLE_SEARCH_ENGINE_ID}" + } + }, + "imiborbas/pocketbase-mcp-server": { + "package_name": "imiborbas/pocketbase-mcp-server", + "repo_url": "https://github.com/imiborbas/pocketbase-mcp-server", + "command": "/path/to/pocketbase-mcp-server/build/index.js --pb-url=http://localhost:8090 --pb-admin-email=admin@example.com --pb-admin-password=your-secure-password" + }, + "MCP-Mirror/f4ww4z_mcp-mysql-server": { + "package_name": "MCP-Mirror/f4ww4z_mcp-mysql-server", + "repo_url": "https://github.com/MCP-Mirror/f4ww4z_mcp-mysql-server", + "command": "npx", + "args": [ + "-y", + "@f4ww4z/mcp-mysql-server" + ], + "env": { + "MYSQL_HOST": "${MYSQL_HOST}", + "MYSQL_USER": "${MYSQL_USER}", + "MYSQL_PASSWORD": "${MYSQL_PASSWORD}", + "MYSQL_DATABASE": "${MYSQL_DATABASE}" + } + }, + "exoticknight/mcp-file-merger": { + "package_name": "exoticknight/mcp-file-merger", + "repo_url": "https://github.com/exoticknight/mcp-file-merger", + "command": "npx", "args": [ - "github:aashari/rag-browser" + "-y", + "@exoticknight/mcp-file-merger", + "/path/to/allowed/dir" ] - } - } - }, - "node-js-npm": { - "mcpServers": { - "rag-browser": { + }, + "RyoJerryYu/mcp-server-memos-py": { + "package_name": "RyoJerryYu/mcp-server-memos-py", + "repo_url": "https://github.com/RyoJerryYu/mcp-server-memos-py", + "command": "uvx", + "args": [ + "mcp-server-fetch" + ] + }, + "Zelaron/Pandoras-Shell": { + "package_name": "Zelaron/Pandoras-Shell", + "repo_url": "https://github.com/Zelaron/Pandoras-Shell", + "command": "/path/to/cloned/Pandoras-Shell/venv/bin/python", + "args": [ + "/path/to/cloned/Pandoras-Shell/src/pandoras_shell/executor.py" + ], + "env": { + "PYTHONPATH": "${PYTHONPATH}" + } + }, + "dragon1086/kospi-kosdaq-stock-server": { + "package_name": "dragon1086/kospi-kosdaq-stock-server", + "repo_url": "https://github.com/dragon1086/kospi-kosdaq-stock-server", + "command": "uvx" + }, + "JoshuaRileyDev/app-store-connect-mcp-server": { + "package_name": "JoshuaRileyDev/app-store-connect-mcp-server", + "repo_url": "https://github.com/JoshuaRileyDev/app-store-connect-mcp-server", + "command": "npx", + "args": [ + "-y", + "@your-org/app-store-connect-mcp-server" + ], + "env": { + "APP_STORE_CONNECT_KEY_ID": "${APP_STORE_CONNECT_KEY_ID}", + "APP_STORE_CONNECT_ISSUER_ID": "${APP_STORE_CONNECT_ISSUER_ID}", + "APP_STORE_CONNECT_P8_PATH": "${APP_STORE_CONNECT_P8_PATH}" + } + }, + "GuoAccount/notepad-server": { + "package_name": "GuoAccount/notepad-server", + "repo_url": "https://github.com/GuoAccount/notepad-server", + "command": "/path/to/notepad-server/build/index.js" + }, + "gnuhpc/rtc-mcp-server": { + "package_name": "gnuhpc/rtc-mcp-server", + "repo_url": "https://github.com/gnuhpc/rtc-mcp-server", + "command": "java", + "args": [ + "-Dtransport.mode=stdio", + "-Dspring.main.web-application-type=none", + "-Dspring.main.banner-mode=off", + "-Dlogging.file.name=/path/to/rtc-mcp-server/mcpserver.log", + "-jar", + "/path/to/rtc-mcp-server/target/rtc-mcp-server-1.0-SNAPSHOT.jar" + ], + "env": { + "ALIYUN_ACCESS_KEY_ID": "${ALIYUN_ACCESS_KEY_ID}", + "ALIYUN_ACCESS_KEY_SECRET": "${ALIYUN_ACCESS_KEY_SECRET}" + } + }, + "0xshellming/mcp-summarizer-server": { + "package_name": "0xshellming/mcp-summarizer-server", + "repo_url": "https://github.com/0xshellming/mcp-summarizer-server", + "command": "npx", + "args": [ + "-y", + "firecrawl-mcp" + ], + "env": { + "FIRECRAWL_API_KEY": "${FIRECRAWL_API_KEY}", + "FIRECRAWL_RETRY_MAX_ATTEMPTS": "${FIRECRAWL_RETRY_MAX_ATTEMPTS}", + "FIRECRAWL_RETRY_INITIAL_DELAY": "${FIRECRAWL_RETRY_INITIAL_DELAY}", + "FIRECRAWL_RETRY_MAX_DELAY": "${FIRECRAWL_RETRY_MAX_DELAY}", + "FIRECRAWL_RETRY_BACKOFF_FACTOR": "${FIRECRAWL_RETRY_BACKOFF_FACTOR}", + "FIRECRAWL_CREDIT_WARNING_THRESHOLD": "${FIRECRAWL_CREDIT_WARNING_THRESHOLD}", + "FIRECRAWL_CREDIT_CRITICAL_THRESHOLD": "${FIRECRAWL_CREDIT_CRITICAL_THRESHOLD}" + } + }, + "databutton/databutton-mcp": { + "package_name": "databutton/databutton-mcp", + "repo_url": "https://github.com/databutton/databutton-mcp", + "command": "/path/to/databutton/build/index.js" + }, + "RossH121/perplexity-mcp": { + "package_name": "RossH121/perplexity-mcp", + "repo_url": "https://github.com/RossH121/perplexity-mcp", + "command": "node", + "args": [ + "/absolute/path/to/perplexity-mcp/build/index.js" + ], + "env": { + "PERPLEXITY_API_KEY": "${PERPLEXITY_API_KEY}", + "PERPLEXITY_MODEL": "${PERPLEXITY_MODEL}" + } + }, + "MammothGrowth/dbt-cli-mcp": { + "package_name": "MammothGrowth/dbt-cli-mcp", + "repo_url": "https://github.com/MammothGrowth/dbt-cli-mcp", + "command": "uv", + "args": [ + "--directory", + "/path/to/dbt-cli-mcp", + "run", + "src/server.py" + ], + "env": { + "DBT_PATH": "${DBT_PATH}", + "ENV_FILE": "${ENV_FILE}" + } + }, + "MCP-Mirror/rezapex_shopify-mcp-server-main": { + "package_name": "MCP-Mirror/rezapex_shopify-mcp-server-main", + "repo_url": "https://github.com/MCP-Mirror/rezapex_shopify-mcp-server-main", + "command": "npx", + "args": [ + "-y", + "shopify-mcp-server" + ], + "env": { + "SHOPIFY_ACCESS_TOKEN": "${SHOPIFY_ACCESS_TOKEN}", + "MYSHOPIFY_DOMAIN": "${MYSHOPIFY_DOMAIN}" + } + }, + "ben4mn/amadeus-mcp": { + "package_name": "ben4mn/amadeus-mcp", + "repo_url": "https://github.com/ben4mn/amadeus-mcp", + "command": "python", + "args": [ + "path/to/amadeus/server.py" + ], + "env": { + "AMADEUS_API_KEY": "${AMADEUS_API_KEY}", + "AMADEUS_API_SECRET": "${AMADEUS_API_SECRET}", + "PYTHONPATH": "${PYTHONPATH}" + } + }, + "aliargun/mcp-server-gemini": { + "package_name": "aliargun/mcp-server-gemini", + "repo_url": "https://github.com/aliargun/mcp-server-gemini", "command": "npx", "args": [ - "-y", - "github:aashari/rag-browser" + "-y", + "github:aliargun/mcp-server-gemini" + ], + "env": { + "GEMINI_API_KEY": "${GEMINI_API_KEY}" + } + }, + "ucesys/minio-python-mcp": { + "package_name": "ucesys/minio-python-mcp", + "repo_url": "https://github.com/ucesys/minio-python-mcp", + "command": "python", + "args": [ + "path/to/minio-mcp/src/minio_mcp_server/server.py" ] - } - } - } - }, - "danishjsheikh/swagger-mcp": { - "mcpServers": { - "swagger_loader": { - "command": "swagger-mcp", - "args": [ - "" - ] - } - } - }, - "jatinsandilya/mcp-server-template": { - "mcpServers": { - "your-mcp-name": { - "command": "node", - "args": [ - "ABSOLUTE_PATH_TO_MCP_SERVER/build/index.js" - ] - } - } - }, - "pskill9/hn-server": { - "mcpServers": { - "hacker-news": { - "command": "node", - "args": [ - "/path/to/hn-server/build/index.js" - ] - } - } - }, - "ivelin-web/tempo-mcp-server": { - "mcpServers": { - "Jira_Tempo": { - "command": "/bin/bash", - "args": [ - "/ABSOLUTE/PATH/TO/tempo-mcp-wrapper.sh" - ] - } - } - }, - "Ai-Quill/scraperis-mcp": { - "mcpServers": { - "scraperis_scraper": { - "command": "scraperis-mcp", - "args": [], - "env": { - "SCRAPERIS_API_KEY": "your-api-key-here", - "DEBUG": "*" - } - } - } - }, - "HeatherFlux/github-issue-mcp-server": { - "mcpServers": { - "github-server": { - "command": "/path/to/github-server/build/index.js" - } - } - }, - "loglmhq/mcp-server-github-repo": { - "mcpServers": { - "mcp-server-github-repo": { - "command": "/path/to/mcp-server-github-repo/build/index.js" - } - } - }, - "JavOrraca/tidymodels-mcp": { - "mcpServers": { - "tidymodels": { - "command": "node", - "args": [ - "/path/to/tidymodels-mcp/js/index.js" - ], - "env": { - "GITHUB_TOKEN": "your-github-token" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "MCP-Mirror/GongRzhe_Calendar-Autoauth-MCP-Server": { - "mcpServers": { - "calendar": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "-v", - "mcp-calendar:/calendar-server", - "-e", - "CALENDAR_CREDENTIALS_PATH=/calendar-server/credentials.json", - "mcp/calendar" - ] - } - } - }, - "vivalalova/mcp_practice": { - "mcpServers": { - "my-server": { - "command": "/path/to/my-server/build/index.js" - } - } - }, - "johnnyoshika/mcp-server-sqlite-npx": { - "mcpServers": { - "sqlite": { - "command": "/absolute/path/to/node", - "args": [ - "/absolute/path/to/dist/index.js", - "/absolute/path/to/database.db" - ] - } - } - }, - "rikuson/mcp-qase": { - "mcpServers": { - "mcp-qase": { - "command": "/path/to/mcp-qase/build/index.js", - "env": { - "QASE_API_TOKEN": "" - } - } - } - }, - "kiwamizamurai/mcp-kibela-server": { - "mcpServers": { - "kibela": { - "command": "npx", - "args": [ - "-y", - "@kiwamizamurai/mcp-kibela-server" - ], - "env": { - "KIBELA_TEAM": "your-team", - "KIBELA_TOKEN": "your-token" - } - } - } - }, - "ryaker/mongodb-mcp-server": { - "mcpServers": { - "mongo-simple-server": { - "command": "node", - "args": [ - "/path/to/mongo-mcp-server.js" - ], - "env": { - "MONGODB_URI": "mongodb+srv://username:password@host", - "DEFAULT_DATABASE": "YourDatabaseName" - } - } - } - }, - "pvev/mattermost-mcp": { - "mcpServers": { - "mattermost": { - "command": "node", - "args": [ - "/path/to/mattermost-mcp/build/index.js" - ] - } - } - }, - "malloryai/mallory-mcp-server": { - "mcpServers": { - "MalloryAI": { - "command": "/path/to/uv", - "args": [ - "run", - "--python", - "/path/to/mcp-server/.venv/bin/python", - "--with", - "fastmcp", - "fastmcp", - "run", - "/path/to/mcp-server/malloryai/mcp/app.py" - ], - "env": { - "APP_ENV": "local", - "MALLORY_API_KEY": "your_api_key_here" - } - } - } - }, - "zueai/frontend-review-mcp": { - "mcpServers": { - "frontend-review": { - "command": "npx", - "args": [ - "frontend-review-mcp HYPERBOLIC_API_KEY=" - ] - } - } - }, - "bmorphism/manifold-mcp-server": { - "mcpServers": { - "manifold": { - "command": "node", - "args": [ - "/path/to/manifold-mcp-server/build/index.js" - ], - "env": { - "MANIFOLD_API_KEY": "your_api_key_here" - } - } - } - }, - "aiyogg/tinypng-mcp-server": { - "mcpServers": { - "tinypng": { - "command": "bun", - "args": [ - "/path/to/tinypng-mcp-server/src/index.ts" - ], - "env": { - "TINYPNG_API_KEY": "your-tinypng-api-key" - } - } - } - }, - "rezapex/shopify-mcp-server-main": { - "mcpServers": { - "shopify": { - "command": "npx", - "args": [ - "-y", - "shopify-mcp-server" - ], - "env": { - "SHOPIFY_ACCESS_TOKEN": "", - "MYSHOPIFY_DOMAIN": ".myshopify.com" - } - } - } - }, - "hanweg/mcp-sqlexpress": { - "mcpServers": { - "sqlexpress": { - "command": "uv", - "args": [ - "--directory", - "PATH\\TO\\PROJECT\\mcp-sqlexpress", - "run", - "mcp-server-sqlexpress", - "--server", - "server\\instance", - "--auth", - "windows", - "--trusted-connection", - "yes", - "--trust-server-certificate", - "yes", - "--allowed-databases", - "database1,database2" - ] - } - } - }, - "mcpdotdirect/evm-mcp-server": { - "mcpServers": { - "evm-mcp-sse": { - "url": "http://localhost:3001/sse" - } - } - }, - "TheApeMachine/mcp-server-devops-bridge": { - "mcpServers": { - "devops-bridge": { - "command": "/full/path/to/mcp-server-devops-bridge/mcp-server-devops-bridge", - "args": [], - "env": { - "AZURE_DEVOPS_ORG": "organization", - "AZDO_PAT": "personal_access_token", - "AZURE_DEVOPS_PROJECT": "project", - "SLACK_DEFAULT_CHANNEL": "channel_id", - "SLACK_BOT_TOKEN": "bot_token", - "GITHUB_PAT": "personal_access_token", - "OPENAI_API_KEY": "openaikey", - "QDRANT_URL": "http://localhost:6333", - "QDRANT_API_KEY": "yourkey", - "NEO4J_URL": "yourneo4jinstance", - "NEO4J_USER": "neo4j", - "NEO4J_PASSWORD": "neo4jpassword" - } - } - } - }, - "mkusaka/mcp-notify-server": { - "mcpServers": { - "notify": { - "command": "npx", - "args": [ - "-y", - "@mkusaka/mcp-notify-server" - ] - } - } - }, - "dopehunter/n8n_MCP_server_complete": { - "mcpServers": { - "n8n": { - "command": "npx", - "args": [ - "-y", - "@dopehunter/n8n-mcp-server" - ] - } - } - }, - "supercorp-ai/supergateway": { - "mcpServers": { - "supermachineExampleDocker": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "supercorp/supergateway", - "--sse", - "https://mcp-server-ab71a6b2-cd55-49d0-adba-562bc85956e3.supermachine.app" - ] - } - } - }, - "landicefu/temp-notes-mcp-server": { - "mcpServers": { - "temp-notes": { - "command": "node", - "args": [ - "/path/to/temp-notes-mcp-server/build/index.js" - ], - "disabled": false - } - } - }, - "TarcisioPhilips/mcp-server-poc": { - "mcpServers": { - "mcp-server": { - "command": "python", - "args": [ - "ABSOLUTE/PATH/TO/main.py" - ] - } - } - }, - "hrs-asano/claude-mcp-trello": { - "mcpServers": { - "trello": { - "command": "{YOUR_NODE_PATH}", - "args": [ - "{YOUR_PATH}/claude-mcp-trello/build/index.js" - ], - "env": { - "TRELLO_API_KEY": "{YOUR_KEY}", - "TRELLO_TOKEN": "{YOUR_TOKEN}", - "TRELLO_BOARD_ID": "{YOUR_BOARD_ID}" - } - } - } - }, - "yogi-miraje/mcp-us-city-weather": { - "mcpServers": { - "my_python_server": { - "command": "/Users//.local/bin/uv", - "args": [ - "--directory", - "/Users//", - "run", - "weather.py" - ] - } - } - }, - "steel-dev/steel-mcp-server": { - "mcpServers": { - "steel-puppeteer": { - "command": "node", - "args": [ - "path/to/steel-puppeteer/dist/index.js" - ], - "env": { - "STEEL_LOCAL": "false", - "STEEL_API_KEY": "your_api_key_here" - } - } - } - }, - "MushroomFleet/TranscriptionTools-MCP": { - "mcpServers": { - "transcription-tools": { - "command": "node", - "args": [ - "/path/to/TranscriptionTools-MCP/build/index.js" - ], - "disabled": false, - "autoApprove": [] - } - } - }, - "sirmews/mcp-pinecone": { - "mcpServers": { - "mcp-pinecone": { - "command": "uvx", - "args": [ - "--index-name", - "{your-index-name}", - "--api-key", - "{your-secret-api-key}", - "mcp-pinecone" - ] - } - } - }, - "bonninr/freecad_mcp": { - "mcpServers": { - "freecad": { - "command": "/usr/local/bin/python3", - "args": [ - "/Users/USER/Library/Preferences/FreeCAD/Mod/freecad_mcp/src/freecad_bridge.py" - ] - } - } - }, - "cyberchitta/scrapling-fetch-mcp": { - "mcpServers": { - "Cyber-Chitta": { - "command": "uvx", - "args": [ - "scrapling-fetch-mcp" - ] - } - } - }, - "lucasmontano/mcp-montano-server": { - "mcpServers": { - "montano-mcp-server": { - "command": "node", - "args": [ - "path/to/mcp-montano-server/build/index.js" - ] - } - } - }, - "notorious-d-e-v/payai-mcp-server": { - "mcpServers": { - "payai-mcp-server": { - "command": "npx", - "args": [ - "-y", - "payai-mcp-server@latest", - "https://mcp.payai.network" - ] - } - } - }, - "miles990/MyMcpServer": { - "mcpServers": { - "MyMcpServer": { - "command": "/path/to/MyMcpServer/build/index.js" - } - } - }, - "elliotxx/favicon-mcp-server": { - "mcpServers": { - "favicon-mcp-server": { - "command": "go", - "args": [ - "run", - "main.go" - ], - "cwd": "/path/to/favicon-mcp-server", - "env": {} - } - } - }, - "block/code-mcp": { - "mcpServers": { - "code-mcp-server": { - "command": "npx", - "args": [ - "code-mcp-server" - ], - "env": {} - } - } - }, - "bartwisch/MCPRules": { - "mcpServers": { - "rules": { - "command": "node", - "args": [ - "/path/to/rules-server/build/index.js" - ], - "disabled": false, - "alwaysAllow": [] - } - } - }, - "co-browser/browser-use-mcp-server": { - "mcpServers": { - "browser-server": { - "command": "browser-use-mcp-server", - "args": [ - "run", - "server", - "--port", - "8000", - "--stdio", - "--proxy-port", - "9000" - ], - "env": { - "OPENAI_API_KEY": "your-api-key" - } - } - } - }, - "punkpeye/file-edit-check-server": { - "mcpServers": { - "file-edit-check": { - "command": "node", - "args": [ - "/path/to/file-edit-check-server/build/index.js" - ], - "disabled": false, - "alwaysAllow": [] - } - } - }, - "MediFinderBot/medifinder-mcp": { - "mcpServers": { - "MedifinderMCP": { - "command": "C:\\path\\to\\project\\venv\\Scripts\\python.exe", - "args": [ - "C:\\path\\to\\project\\main.py" - ], - "env": { - "DB_HOST": "localhost", - "DB_PORT": "5432", - "DB_NAME": "medifinderbot", - "DB_USER": "your_user", - "DB_PASSWORD": "your_password", - "DEBUG": "True", - "ENV": "development", - "SERVER_NAME": "MedifinderMCP", - "SERVER_VERSION": "1.0.0", - "MCP_SERVER_NAME": "MedifinderMCP", - "MCP_SERVER_DESCRIPTION": "MCP server for medicine inventory queries", - "MAX_SEARCH_RESULTS": "50", - "SEARCH_SIMILARITY_THRESHOLD": "0.3" - } - } - } - }, - "StarRocks/mcp-server-starrocks": { - "mcpServers": { - "mcp-server-starrocks": { - "command": "uv", - "args": [ - "--directory", - "path/to/mcp-server-starrocks", - "run", - "mcp-server-starrocks" - ], - "env": { - "STARROCKS_HOST": "default localhost", - "STARROCKS_PORT": "default 9030", - "STARROCKS_USER": "default root", - "STARROCKS_PASSWORD": "default empty" - } - } - } - }, - "sarankrishna/wheather-mcp": { - "mcpServers": { - "blender": { - "command": "uvx", - "args": [ - "blender-mcp" - ] - } - } - }, - "mikegehard/isolated-commands-mcp-server": { - "mcpServers": { - "isolated-commands-mcp-server": { - "command": "/path/to/isolated-commands-mcp-server/build/index.js" - } - } - }, - "MCP-Mirror/ccc0168_modes-mcp-server": { - "mcpServers": { - "modes": { - "command": "node", - "args": [ - "/path/to/modes-mcp-server/build/index.js" - ], - "env": { - "MODES_CONFIG_PATH": "/path/to/custom/modes.json" - }, - "disabled": false, - "alwaysAllow": [] - } - } - }, - "Funmula-Corp/BigGo-MCP-Server": { - "mcpServers": { - "biggo-mcp-server": { - "command": "uvx", - "args": [ - "BigGo-MCP-Server@latest" - ], - "env": { - "BIGGO_MCP_SERVER_CLIENT_ID": "CLIENT_ID", - "BIGGO_MCP_SERVER_CLIENT_SECRET": "CLIENT_SECRET", - "BIGGO_MCP_SERVER_REGION": "REGION" - } - } - } - }, - "zhangzhongnan928/mcp-coinbase-commerce": { - "mcpServers": { - "coinbase-commerce": { - "command": "node", - "args": [ - "/path/to/mcp-coinbase-commerce/dist/index.js" - ], - "env": { - "COINBASE_COMMERCE_API_KEY": "your_api_key_here" - } - } - } - }, - "NishizukaKoichi/fastapi-mcp-server": { - "mcpServers": { - "fastapi-mcp": { - "command": "python", - "args": [ - "-m", - "fastapi_mcp_server.server" - ] - } - } - }, - "okooo5km/time-mcp-server": { - "mcpServers": { - "RealTime": { - "command": "time-mcp-server" - } - } - }, - "KyrieTangSheng/mcp-server-nationalparks": { - "mcpServers": { - "nationalparks": { - "command": "npx", - "args": [ - "-y", - "mcp-server-nationalparks" - ], - "env": { - "NPS_API_KEY": "YOUR_NPS_API_KEY" - } - } - } - }, - "21st-dev/magic-mcp": { - "mcpServers": { - "@21st-dev/magic": { - "command": "npx", - "args": [ - "-y", - "@21st-dev/magic@latest", - "API_KEY=your-api-key" - ] - } - } - }, - "AnuragRai017/python-docs-server-MCP-Server": { - "mcpServers": { - "python-docs-server": { - "command": "/path/to/python-docs-server/build/index.js" - } - } - }, - "FradSer/mcp-server-to-markdown": { - "mcpServers": { - "to-markdown": { - "command": "mcp-server-to-markdown", - "args": { - "CLOUDFLARE_API_TOKEN": "your_api_token", - "CLOUDFLARE_ACCOUNT_ID": "your_account_id" - } - } - } - }, - "Akira-Papa/akirapapa-mcp-notion-server": { - "mcpServers": { - "notion": { - "command": "node", - "args": [ - "your-built-file-path" - ], - "env": { - "NOTION_API_TOKEN": "your-integration-token" - } - } - } - }, - "burningion/video-editing-mcp": { - "mcpServers": { - "video-editor-mcp": { - "command": "uv", - "args": [ - "--directory", - "/Users/YOURDIRECTORY/video-editor-mcp", - "run", - "video-editor-mcp", - "YOURAPIKEY" - ] - } - } - }, - "AgentWong/iac-memory-mcp-server": { - "mcpServers": { - "iac-memory": { - "command": "uvx", - "args": [ - "--from", - "git+https://github.com/AgentWong/iac-memory-mcp-server.git", - "python", - "-m", - "iac_memory_mcp_server" - ], - "env": { - "DATABASE_URL": "sqlite:////home/herman/iac.db" - } - } - } - }, - "privetin/wikimedia": { - "mcpServers": { - "wikimedia": { - "command": "uvx", - "args": [ - "wikimedia" - ] - } - } - }, - "ibraheem4/eventbrite-mcp": { - "mcpServers": { - "eventbrite": { - "command": "npx", - "args": [ - "-y", - "@ibraheem4/eventbrite-mcp" - ], - "env": { - "EVENTBRITE_API_KEY": "your-eventbrite-api-key" - }, - "disabled": false, - "autoApprove": [] - } - } - }, - "ppl-ai/modelcontextprotocol": { - "mcpServers": { - "perplexity-ask": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-perplexity-ask" - ], - "env": { - "PERPLEXITY_API_KEY": "YOUR_API_KEY_HERE" - } - } - } - }, - "dubin555/clickhouse_mcp_server": { - "mcpServers": { - "clickhouse": { - "command": "uv", - "args": [ - "--directory", - "/path/to/clickhouse_mcp_server", - "run", - "-m", - "clickhouse_mcp_server.server" - ], - "env": { - "CLICKHOUSE_HOST": "localhost", - "CLICKHOUSE_PORT": "8123", - "CLICKHOUSE_USER": "default", - "CLICKHOUSE_PASSWORD": "CHANGE_TO_YOUR_PASSWORD", - "CLICKHOUSE_DATABASE": "default" - } - } - } - }, - "PoliTwit1984/second-opinion-mcp-server": { - "mcpServers": { - "second-opinion": { - "command": "node", - "args": [ - "/path/to/second-opinion-server/build/index.js" - ], - "env": { - "GEMINI_API_KEY": "your-gemini-api-key", - "PERPLEXITY_API_KEY": "your-perplexity-api-key", - "STACK_EXCHANGE_KEY": "your-stack-exchange-key" - } - } - } - }, - "MCP-Mirror/trevorwilkerson_Windows-MCP-Server-Installation-Verification-Guide": { - "mcpServers": { - "sequential-thinking": { - "command": "C:\\Program Files\\odejs\\ode.exe", - "args": [ - "C:\\Users\\Username\\AppData\\Roaming\\pm\\ode_modules\\@modelcontextprotocol\\server-sequential-thinking\\dist\\index.js" - ] - } - } - }, - "nexon33/search-fetch-server-mcp": { - "mcpServers": { - "search-fetch-server": { - "command": "node", - "args": [ - "/path/to/search-fetch-server/build/index.js" - ] - } - } - }, - "wazzan/mcp-coincap-jj": { - "mcpServers": { - "mcp-coincap-jj": { - "command": "cmd.exe", - "args": [ - "/c", - "C:\\Program Files\\odejs\\px.cmd", - "C:\\Users\\YOUR-WINDOWS-USERNAME\\repos\\github\\mcp-coincap-jj" - ], - "env": { - "COINCAP_API_KEY": "YOUR_API_KEY_HERE" - }, - "disabled": false, - "alwaysAllow": [ - "])