Skip to main content
Glama

DuckDuckGo MCP Server

by rsimd
run.py2.47 kB
#!/usr/bin/env python3 """DuckDuckGo MCP Server 実行スクリプト uvまたはpython直接実行でプロジェクトを起動するためのスクリプト """ import subprocess import sys import os from pathlib import Path def check_uv_available(): """uvが利用可能かチェック""" try: subprocess.run(["uv", "--version"], capture_output=True, check=True) return True except (subprocess.CalledProcessError, FileNotFoundError): return False def run_with_uv(): """uvを使用してサーバーを実行""" print("uvを使用してDuckDuckGo MCP Serverを起動中...") try: subprocess.run(["uv", "run", "duckduckgo-mcp-server"], check=True) except subprocess.CalledProcessError as e: print(f"uvでの実行でエラーが発生しました: {e}") sys.exit(1) def run_with_python(): """標準のpythonを使用してサーバーを実行""" print("標準のPythonを使用してDuckDuckGo MCP Serverを起動中...") try: subprocess.run([sys.executable, "server.py"], check=True) except subprocess.CalledProcessError as e: print(f"Pythonでの実行でエラーが発生しました: {e}") sys.exit(1) def run_test_with_uv(): """uvを使用してテストを実行""" print("uvを使用してテストを実行中...") try: subprocess.run(["uv", "run", "test-search"], check=True) except subprocess.CalledProcessError as e: print(f"uvでのテスト実行でエラーが発生しました: {e}") sys.exit(1) def run_test_with_python(): """標準のpythonを使用してテストを実行""" print("標準のPythonを使用してテストを実行中...") try: subprocess.run([sys.executable, "test_search.py"], check=True) except subprocess.CalledProcessError as e: print(f"Pythonでのテスト実行でエラーが発生しました: {e}") sys.exit(1) def main(): """メイン関数""" if len(sys.argv) > 1 and sys.argv[1] == "test": # テストモード if check_uv_available() and Path("pyproject.toml").exists(): run_test_with_uv() else: run_test_with_python() else: # サーバー起動モード if check_uv_available() and Path("pyproject.toml").exists(): run_with_uv() else: run_with_python() if __name__ == "__main__": main()

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rsimd/duckduckgo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server