A joke MCP server powered by a real human via Streamlit UI.
Project description
human-mcp
人間をMCPツールとして提供するMCPサーバー
概要
human-mcpは、AIアシスタントが人間の能力を活用できるようにするMCPサーバーです。AIアシスタントからのリクエストを受け取り、人間に指示を表示し、人間からの応答をAIアシスタントに返します。
主な機能:
- MCPクライアントからのツール実行リクエスト (STDIN経由) を受け付ける
- 実行に必要な指示をSQLiteデータベースに書き込む
- StreamlitアプリケーションがSQLiteを監視し、人間に指示を表示、応答入力を促す
- 人間がStreamlit経由で入力した結果をSQLiteに書き込む
- MCPサーバーがSQLiteから結果を読み取り、MCPレスポンスとしてクライアント (STDOUT経由) に返す
提供するツール
- human_eye_tool: 人間が目で見て状況を説明したり、特定のものを探したりします。
- human_hand_tool: 人間が手を使って簡単な物理的操作を実行します。
- human_mouth_tool: 人間が口を使って指定された言葉を発話します。
- human_weather_tool: 人間が現在地の天気を確認して報告します。
- human_ear_tool: 人間が耳を使って音を聞き、状況を説明します。
- human_nose_tool: 人間が鼻を使って匂いを確認します。
- human_taste_tool: 人間が口を使って食べ物を味わい、その味を説明します。
セットアップ
前提条件
- Python 3.12以上
- uv
- SQLite3
インストール手順
-
リポジトリをクローン
git clone https://github.com/yourusername/human-mcp.git cd human-mcp
-
仮想環境を作成して有効化
uv venv source .venv/bin/activate
-
依存関係をインストール
uv pip install .
使用方法
- MCPサーバーをインストール
task install-mcp
-
ClaudeからMCPサーバーに接続
"human-mcp": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "mcp", "run", "$PATH_TO_REPOSITORY/human_mcp/mcp_server.py" ] }
-
2つ目のターミナルでStreamlit UIを起動
task run-streamlit -
ブラウザで表示されるStreamlit UIにアクセス(通常は http://localhost:8501 )
-
MCPクライアント(例:Claude Desktop)からリクエストを送信すると、Streamlit UIにタスクが表示されます。
-
Streamlit UIで応答を入力し、「応答を送信」ボタンをクリックすると、その応答がMCPクライアントに返されます。
プロジェクト構造
human-mcp/
├── human_mcp/ # メインのPythonパッケージ
│ ├── __init__.py # パッケージマーカー
│ ├── db_utils.py # SQLite関連ユーティリティ
│ ├── tools.py # ツール定義
│ ├── mcp_server.py # MCPサーバー本体
│ └── streamlit_app.py # Streamlit UI アプリ
├── human_tasks.db # SQLite データベースファイル (実行時に生成)
├── pyproject.toml # プロジェクト設定、依存関係
└── README.md # このファイル
ライセンス
MIT
注意事項
このプロジェクトはジョーク用途を想定しています。実際の運用では、人間のオペレーターの負担や、応答の遅延などを考慮する必要があります。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_upamune_human_mcp-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_upamune_human_mcp-0.1.0.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b56c0a88e608fb1fcd0b089b0747b2da97abe832a815bbfa50dc0cf73514bba
|
|
| MD5 |
b8d13ffeb7c9f6bc63fe87dd79e54a99
|
|
| BLAKE2b-256 |
ce13c46afdc39c2958bf23dd527ba13ca02eb5c41d90fb2abd52096a66aa15d4
|
File details
Details for the file iflow_mcp_upamune_human_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_upamune_human_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69e2813f15564d12a3f6061131bbddc25f96a131637979341b63d506ff1e15cc
|
|
| MD5 |
0937942ccdf12a82c2faa51d18992c6d
|
|
| BLAKE2b-256 |
79db66aa90e9a16255a524b043c87e06c061247c3d093e2ab5d423f9012ff8e9
|