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
注意事項
このプロジェクトはジョーク用途を想定しています。実際の運用では、人間のオペレーターの負担や、応答の遅延などを考慮する必要があります。
Metadata
Release files for iflow-mcp_upamune-human-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_upamune_human_mcp-0.1.0.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_upamune_human_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.5 kB
Release files / iflow_mcp_upamune_human_mcp-0.1.0.tar.gz
| Download URL | iflow_mcp_upamune_human_mcp-0.1.0.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b56c0a88e608fb1fcd0b089b0747b2da97abe832a815bbfa50dc0cf73514bba
|
|
BLAKE2b-256 checksum How to use checksums |
ce13c46afdc39c2958bf23dd527ba13ca02eb5c41d90fb2abd52096a66aa15d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / iflow_mcp_upamune_human_mcp-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_upamune_human_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69e2813f15564d12a3f6061131bbddc25f96a131637979341b63d506ff1e15cc
|
|
BLAKE2b-256 checksum How to use checksums |
79db66aa90e9a16255a524b043c87e06c061247c3d093e2ab5d423f9012ff8e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|