simple-mcp

simple-mcp

A simple HTTP-based MCP server that provides demo tools (get_test_string, echo, check_maintenance), greeting prompts, and test resources, with optional OAuth 2.1 support.

Category
访问服务器

README

simple-mcp

MCP(Model Context Protocol)に準拠したシンプルな HTTP ベースの MCP Server です。 Python 標準ライブラリのみで動作し、ツール・プロンプト・リソースを提供します。

提供する機能

Tools

ツール名 説明
get_test_string テスト用文字列を返します(prefix オプション対応)
echo 入力メッセージをそのまま返します
check_maintenance secret_notes.txt のメンテナンス情報を返します

Prompts

プロンプト名 説明
greeting 挨拶プロンプト(name 引数対応)

Resources

URI 説明
demo://test-data デモ用テストデータ

その他の機能

  • OAuth 2.1 Bearer トークン検証(JWKS / RS256)※オプション・デフォルト無効
  • CORS 対応
  • RFC 9728 Protected Resource Metadata エンドポイント(/.well-known/oauth-protected-resource
  • MCP プロトコルバージョン 2024-11-05

必要環境

  • Python 3.8 以上
  • OAuth 認証を使う場合のみ追加パッケージが必要(requirements.txt 参照)

セットアップ

# 仮想環境の作成
python3 -m venv venv
source venv/bin/activate

# 依存パッケージのインストール(OAuth を使わない場合は省略可)
pip install -r requirements.txt

# 設定ファイルの準備
cp mcp_server_config.json.example mcp_server_config.json

# メンテナンス情報ファイルの準備(自動生成されますが、手動で用意も可能)
mkdir -p mcp-server-data
cp mcp-server-data/secret_notes.txt.example mcp-server-data/secret_notes.txt

起動

フォアグラウンド実行(手元での検証用)

# 設定ファイルのポートで起動(デフォルト: 9000)
python3 mcpServer.py

# ポートを指定して起動
python3 mcpServer.py 9001

起動後、http://localhost:9000/ でリクエストを待ち受けます。

バックグラウンド実行(本番運用 / Ubuntu 推奨)

scripts/ 以下のスクリプトを使うと、ターミナルを切断しても継続動作するバックグラウンド起動ができます。 ログは logs/server.log に出力され、tail -f でリアルタイムに確認できます。

# 初回のみ:スクリプトに実行権限を付与
chmod +x scripts/*.sh

# 起動(設定ファイルのポート / デフォルト 9000)
./scripts/start.sh

# ポートを指定して起動
./scripts/start.sh 9001

# ログをリアルタイム確認(別ターミナルで実行)
tail -f logs/server.log

# 状態確認
./scripts/status.sh

# 停止
./scripts/stop.sh

補足: バックグラウンド起動時は python3 -u(出力バッファリング無効化)で動かすため、 tail -f で遅延なくログが表示されます。プロセスは PID ファイル(mcp-server.pid)で管理され、 二重起動は防止されます。

動作確認

# ヘルスチェック(GET)
curl http://localhost:9000/

# initialize リクエスト(POST)
curl -X POST http://localhost:9000/ \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

# ツール一覧の取得
curl -X POST http://localhost:9000/ \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

# ツールの実行(echo)
curl -X POST http://localhost:9000/ \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"echo","arguments":{"message":"hello"}}}'

設定(mcp_server_config.json

項目 説明 デフォルト
host 待ち受けホスト 0.0.0.0
port 待ち受けポート 9000
server_info サーバー名・バージョン simple-demo-server v1.0.0
secret_file_path メンテナンス情報ファイルのパス ./mcp-server-data/secret_notes.txt
check_maintenance_description check_maintenance ツールの説明文 (例を参照)
check_maintenance_prefix 返却時のプレフィックス文字列 maintenance information
oauth OAuth 認証設定(enabled / issuer / jwks_uri / audience / scopes enabled: false

ディレクトリ構成

simple-mcp/
├── mcpServer.py                          # MCP Server 本体
├── mcp_server_config.json.example        # 設定ファイル例
├── scripts/
│   ├── start.sh                          # バックグラウンド起動(nohup + PID管理)
│   ├── stop.sh                           # 停止
│   └── status.sh                         # 状態確認
├── mcp-server-data/
│   └── secret_notes.txt.example          # メンテナンス情報ファイル例
├── logs/                                 # ログ出力先(.gitignore 対象・実行時に生成)
├── requirements.txt                      # OAuth 利用時の依存パッケージ
└── README.md

推荐服务器

Baidu Map

Baidu Map

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

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

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

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

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

官方
精选
本地
TypeScript
VeyraX

VeyraX

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

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

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

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

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

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

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

官方
精选
Exa MCP Server

Exa MCP Server

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

官方
精选