Spaces:
Runtime error
Runtime error
ryoshimu
commited on
Commit
·
e2537fe
1
Parent(s):
025d91f
commit
Browse files- README.md +10 -39
- README1.md +39 -0
README.md
CHANGED
|
@@ -1,39 +1,10 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
```bash
|
| 12 |
-
python -m venv .venv
|
| 13 |
-
source .venv/bin/activate # Windows の場合は .venv\Scripts\activate
|
| 14 |
-
pip install -r requirements.txt
|
| 15 |
-
uvicorn app:app --host 0.0.0.0 --port 7860
|
| 16 |
-
```
|
| 17 |
-
|
| 18 |
-
別ターミナルで以下を実行すると、WebSocket プロトコルのやり取りを確認できます。
|
| 19 |
-
|
| 20 |
-
```bash
|
| 21 |
-
python client.py --url ws://localhost:7860/mcp
|
| 22 |
-
```
|
| 23 |
-
|
| 24 |
-
### 2. Hugging Face Spaces へのデプロイ手順
|
| 25 |
-
|
| 26 |
-
1. Hugging Face で新しい Space を作成し、**Space SDK** として **Docker** を選択します。
|
| 27 |
-
2. このリポジトリのファイルをそのままアップロード(または `git push`)します。
|
| 28 |
-
3. ビルドが完了すると自動で `uvicorn` が起動し、`https://<your-space>.hf.space/mcp` で WebSocket が待ち受けます。
|
| 29 |
-
4. ローカルまたは別サービスから WebSocket クライアントで接続すれば、手元と同じように動作確認できます。
|
| 30 |
-
|
| 31 |
-
### 3. サーバー仕様メモ
|
| 32 |
-
|
| 33 |
-
- HTTP `GET /` : ヘルスチェック用。`{"status": "ok"}` を返します。
|
| 34 |
-
- WebSocket `/mcp` :
|
| 35 |
-
- 接続直後に `server_hello` を送信。
|
| 36 |
-
- `ping` / `tools.list` / `tool.call` のシンプルな 3 種類を実装。
|
| 37 |
-
- `tool.call` (`echo`) は `{"text": "..."} ` をそのまま返します。
|
| 38 |
-
|
| 39 |
-
必要に応じて `mcp_endpoint` 内にツールを追加することで、独自の MCP サーバーとして発展させられます。
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: MCP Sample
|
| 3 |
+
emoji: 👀
|
| 4 |
+
colorFrom: pink
|
| 5 |
+
colorTo: yellow
|
| 6 |
+
sdk: docker
|
| 7 |
+
pinned: false
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README1.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## サンプル MCP サーバー (Hugging Face Spaces デプロイ用)
|
| 2 |
+
|
| 3 |
+
このリポジトリは、Hugging Face Spaces にデプロイできるシンプルな MCP 互換 WebSocket サーバーのサンプルです。`/mcp` エンドポイントへ接続すると、以下の 3 種類のアクションで動作確認ができます。
|
| 4 |
+
|
| 5 |
+
- `ping` : サーバーが `pong` を返却します。
|
| 6 |
+
- `tools.list` : 利用可能なツール(ここでは `echo`)の一覧を返却します。
|
| 7 |
+
- `tool.call` : `echo` ツールに文字列を渡すと、そのまま返却します。
|
| 8 |
+
|
| 9 |
+
### 1. ローカルでの動作確認
|
| 10 |
+
|
| 11 |
+
```bash
|
| 12 |
+
python -m venv .venv
|
| 13 |
+
source .venv/bin/activate # Windows の場合は .venv\Scripts\activate
|
| 14 |
+
pip install -r requirements.txt
|
| 15 |
+
uvicorn app:app --host 0.0.0.0 --port 7860
|
| 16 |
+
```
|
| 17 |
+
|
| 18 |
+
別ターミナルで以下を実行すると、WebSocket プロトコルのやり取りを確認できます。
|
| 19 |
+
|
| 20 |
+
```bash
|
| 21 |
+
python client.py --url ws://localhost:7860/mcp
|
| 22 |
+
```
|
| 23 |
+
|
| 24 |
+
### 2. Hugging Face Spaces へのデプロイ手順
|
| 25 |
+
|
| 26 |
+
1. Hugging Face で新しい Space を作成し、**Space SDK** として **Docker** を選択します。
|
| 27 |
+
2. このリポジトリのファイルをそのままアップロード(または `git push`)します。
|
| 28 |
+
3. ビルドが完了すると自動で `uvicorn` が起動し、`https://<your-space>.hf.space/mcp` で WebSocket が待ち受けます。
|
| 29 |
+
4. ローカルまたは別サービスから WebSocket クライアントで接続すれば、手元と同じように動作確認できます。
|
| 30 |
+
|
| 31 |
+
### 3. サーバー仕様メモ
|
| 32 |
+
|
| 33 |
+
- HTTP `GET /` : ヘルスチェック用。`{"status": "ok"}` を返します。
|
| 34 |
+
- WebSocket `/mcp` :
|
| 35 |
+
- 接続直後に `server_hello` を送信。
|
| 36 |
+
- `ping` / `tools.list` / `tool.call` のシンプルな 3 種類を実装。
|
| 37 |
+
- `tool.call` (`echo`) は `{"text": "..."} ` をそのまま返します。
|
| 38 |
+
|
| 39 |
+
必要に応じて `mcp_endpoint` 内にツールを追加することで、独自の MCP サーバーとして発展させられます。
|