semvec/pypi-packages huggingface dataset:
iflow-mcp-dogeplusplus-protein-data-bank-mcp 0.1.0
Add your description here
Requires Python: >=3.12

# Protein Data Bank MCP Server

Micro-service for accessing the Protein Data Bank (PDB) API through the MCP protocol. This service provides structured access to protein structures, chemical components, and related annotations from the PDB database.

## Features

- Access to PDB core API endpoints
- Structured data retrieval for proteins, assemblies, and chemical components
- Support for annotation data from DrugBank, UniProt, and PubMed
- Built on FastMCP framework with async/await support
- Local PDB file storage and parsing capabilities

## Setup

1. Install dependencies:
```bash
uv sync
```

2. Configure environment variables in `.env`:
```env
PDB_MCP_HOST=localhost
PDB_MCP_PORT=8080
```

## Available Tools

### Core Data
- `structural_assembly_description`: Get assembly structures
- `chemical_component`: Get chemical component details
- `polymer_entity`: Get polymer entity information
- `structure`: Get structure details

### Annotations
- `drugbank_annotations`: DrugBank data for compounds
- `uniprot_annotations`: UniProt protein annotations
- `pubmed_annotations`: PubMed literature references

### Repository Info
- `current_entry_ids`: List current PDB entries
- `structure_status`: Check entry status
- `unreleased_structures`: Get unreleased structure info

## Docker Usage

Run with Docker Compose:
```bash
docker compose up pdb-server
```

The server will be available at `http://localhost:8080`.
iflow-mcp_dogeplusplus_protein_data_bank_mcp 0.1.1
Add your description here
Requires Python: >=3.12

# Protein Data Bank MCP Server

Micro-service for accessing the Protein Data Bank (PDB) API through the MCP protocol. This service provides structured access to protein structures, chemical components, and related annotations from the PDB database.

## Features

- Access to PDB core API endpoints
- Structured data retrieval for proteins, assemblies, and chemical components
- Support for annotation data from DrugBank, UniProt, and PubMed
- Built on FastMCP framework with async/await support
- Local PDB file storage and parsing capabilities

## Setup

1. Install dependencies:
```bash
uv sync
```

2. Configure environment variables in `.env`:
```env
PDB_MCP_HOST=localhost
PDB_MCP_PORT=8080
```

## Available Tools

### Core Data
- `structural_assembly_description`: Get assembly structures
- `chemical_component`: Get chemical component details
- `polymer_entity`: Get polymer entity information
- `structure`: Get structure details

### Annotations
- `drugbank_annotations`: DrugBank data for compounds
- `uniprot_annotations`: UniProt protein annotations
- `pubmed_annotations`: PubMed literature references

### Repository Info
- `current_entry_ids`: List current PDB entries
- `structure_status`: Check entry status
- `unreleased_structures`: Get unreleased structure info

## Docker Usage

Run with Docker Compose:
```bash
docker compose up pdb-server
```

The server will be available at `http://localhost:8080`.
truthtrader-barvault 0.1.2
Cache-first market bar archive: fetch from Polygon (or others), store 1m bars, return any timeframe. No pandas required for callers.
Requires Python: <4.0,>=3.11

# Barvault

Cache-first market bar archive: fetch from Polygon (or other providers), store 1-minute bars in S3 or local, return any timeframe. Callers can use plain Python (`datetime`, `list[dict]`) — no pandas required.

- deterministic archive reads (stable ordering + explicit boundary semantics)
- a single golden source stored in the archive: **1-minute bars**
- stateless configuration (no module globals, no env lookups at import-time)

## Install (Poetry)

```bash
poetry install
```

## Quick usage

```python
from __future__ import annotations

from datetime import datetime, timezone

from market_data import ArchiveConfig, MarketDataClient, PolygonConfig

cfg = ArchiveConfig.s3(bucket="public-market-data-truth-trader", prefix="md-archive")
client = MarketDataClient(cfg, polygon=PolygonConfig(api_key="YOUR_POLYGON_KEY"))

records = client.get_bars_records(
    ["AAPL"],
    start=datetime(2025, 1, 2, 14, 30, tzinfo=timezone.utc),
    end=datetime(2025, 1, 2, 15, 30, tzinfo=timezone.utc),
    timeframe="5min",
)
print(records[:2])
```

## Fetch + cache (Polygon) + return any timeframe

The archive’s golden source is always **1-minute** bars. `MarketDataClient` will:

- read what’s already in the archive for `[start, end)`
- detect missing expected minutes (using the provided calendar)
- fetch missing data from Polygon
- write 1m bars back to the archive (merge + de-dupe)
- return **1m** or any derived timeframe (resampled from 1m)

```python
from __future__ import annotations

from market_data import ArchiveConfig, MarketDataClient, PolygonConfig

# Local archive:
# cfg = ArchiveConfig.local(root="/tmp/md-archive")
#
# S3 archive:
cfg = ArchiveConfig.s3(bucket="public-market-data-truth-trader", prefix="md-archive")

client = MarketDataClient(
    cfg,
    polygon=PolygonConfig(api_key="YOUR_POLYGON_KEY"),
)

# Always returns data for [start,end) (start inclusive, end exclusive).
bars_1m = client.get_bars(
    ["AAPL", "MSFT"],
    start="2025-01-02T14:30:00Z",
    end="2025-01-02T15:30:00Z",
    timeframe="1min",
)

# Derived timeframe (resampled from 1m):
bars_5m = client.get_bars(
    ["AAPL"],
    start="2025-01-02T14:30:00Z",
    end="2025-01-02T15:30:00Z",
    timeframe="5min",
)

# If you don't want to work with pandas DataFrames, use plain Python records:
records_5m = client.get_bars_records(
    ["AAPL"],
    start="2025-01-02T14:30:00Z",
    end="2025-01-02T15:30:00Z",
    timeframe="5min",
)
```

Timeframe notes:

- Use pandas-compatible offset strings like `"5min"`, `"1h"`, `"1D"`.
- Do **not** use `"1m"` to mean 1 minute — in pandas `"m"` means **months**.

## Design constraints

- `import market_data` must not start servers, read env vars, or require credentials
- all configuration is passed via constructors/args (`ArchiveConfig`, provider constructors, etc.)
- only **1m** is accepted by the writer; higher timeframes are derived from 1m (never written)
iflow-mcp_ai-maker-space_aim_mcp_demo 0.1.0
Add your description here
Requires Python: >=3.13

<p align = "center" draggable=”false” ><img src="https://github.com/AI-Maker-Space/LLM-Dev-101/assets/37101144/d1343317-fa2f-41e1-8af1-1dbb18399719" 
     width="200px"
     height="auto"/>
</p>

## <h1 align="center" id="heading">AI Makerspace: MCP Event</h1>

This project is a demonstration of the MCP (Model Context Protocol) server, which utilizes the Tavily API for web search capabilities. The server is designed to run in a standard input/output (stdio) transport mode.

## Project Overview

The MCP server is set up to handle web search queries using the Tavily API. It is built with the following key components:

- **TavilyClient**: A client for interacting with the Tavily API to perform web searches.

## Prerequisites

- Python 3.13 or higher
- A valid Tavily API key

## Installation

1. **Clone the repository**:
   ```bash
   git clone <repository-url>
   cd <repository-directory>
   ```

2. **Configure environment variables**:
Copy the `.env.sample` to `.env` and add your Tavily API key:
   ```
   TAVILY_API_KEY=your_api_key_here
   ```

## Running the MCP Server

To start the MCP server, you will need to add the following to your MCP Profile in Cursor:

```
{
    "mcpServers":  {
        "websearch-server": {
            "command" : "uv",
            "args" : ["--directory", "/PATH/TO/REPOSITORY", "run", "server.py"]
        }
    }
}
```

The server will start and listen for commands via standard input/output.

## Usage

The server provides a `web_search` tool that can be used to search the web for information about a given query. This is achieved by calling the `web_search` function with the desired query string.

## License

This project is licensed under the MIT License. See the LICENSE file for more details.

## Contributing

Contributions are welcome! Please open an issue or submit a pull request for any changes.
iflow-mcp-rajeevchandra-client-server 0.1.0
MCP Server example with add and multiply tools
Requires Python: >=3.11

# MCP + Ollama Local Tool Calling Example

This project demonstrates how a local AI agent can **understand user queries** and **automatically call Python functions** using:

- Model Context Protocol (**MCP**)
- **Ollama** for running a local LLM (e.g., Llama3)
- **Python** MCP Client and Server

---

## 🔗 Sequence Diagram

```mermaid
sequenceDiagram
    participant User
    participant MCP_Client
    participant Ollama_LLM
    participant MCP_Server

    User->>MCP_Client: 1) User types: "What is 5 + 8?"
    MCP_Client->>Ollama_LLM: 2) Send available tools + user query
    Ollama_LLM->>Ollama_LLM: 3) Understand query & tool descriptions
    Ollama_LLM->>Ollama_LLM: 4) Select tool: add(a=5, b=8)
    Ollama_LLM->>MCP_Client: 5) Return tool_call
    MCP_Client->>MCP_Server: 6) Execute add(a=5, b=8)
    MCP_Server-->>MCP_Client: 7) Return result: 13
    MCP_Client-->>User: 8) Show final answer: 13
```

---

## 📚 Project Structure

```
.
├── math_server.py      # MCP Server exposing add() and multiply() tools
├── ollama_client.py    # MCP Client interacting with Ollama
├── README.md           # Project documentation
```

---

## 🛠️ Setup Instructions

### 1. Install Requirements

```bash
pip install "mcp[cli] @ git+https://github.com/awslabs/mcp.git" openai==0.28 httpx
```

Make sure you have **Ollama installed** and running.

### 2. Pull or run an LLM model

```bash
ollama run llama3
```

(Ensure the model you run supports tool calling.)

### 3. Run the MCP Server

```bash
python math_server.py
```

The server exposes two simple tools:
- `add(a: int, b: int) -> int`
- `multiply(a: int, b: int) -> int`

### 4. Run the MCP Client

```bash
python ollama_client.py math_server.py
```

### 5. Interact!

Example queries:

```
Query: What is 5 + 8?
Response: 13

Query: Multiply 7 and 9
Response: 63
```

The MCP client sends the query and available tools to Ollama. The LLM internally decides which tool to use based on the tool descriptions and user intent.

---

## 🚀 How It Works

- MCP Client lists available tools.
- Sends tools + user query to Ollama LLM.
- LLM reasons about the best matching tool.
- LLM generates a `tool_call`.
- MCP Client invokes the function via the MCP Server.
- Final result is returned and displayed.

✅ No manual hardcoding!
✅ Everything runs locally!
✅ Fully autonomous!

---

## 📢 Why This Matters

This pattern enables building **smart local AI agents** that:
- Understand user intent
- Dynamically select the correct actions
- Operate fully offline and locally

It opens doors for:
- Autonomous developers
- Local intelligent assistants
- Secure AI workflows

---

## 🏷️ Hashtags for Sharing

```text
#MCP #ModelContextProtocol #Ollama #LocalLLM #FunctionCalling #Python #AI #DeveloperTools #AIEngineering #AutonomousAgents
```

---

## 🙌 Credits

- [Model Context Protocol](https://modelcontextprotocol.io)
- [Ollama](https://ollama.com)

---

> "Smarter AI agents start with understanding how they think!"

---

> **Next Steps:** Add Streamlit UI or Dockerize this project 🚀
iflow-mcp-rajeevchandra-mcp-client-server-example 0.1.1
MCP Server example with add and multiply tools
Requires Python: >=3.11

# MCP + Ollama Local Tool Calling Example

This project demonstrates how a local AI agent can **understand user queries** and **automatically call Python functions** using:

- Model Context Protocol (**MCP**)
- **Ollama** for running a local LLM (e.g., Llama3)
- **Python** MCP Client and Server

---

## 🔗 Sequence Diagram

```mermaid
sequenceDiagram
    participant User
    participant MCP_Client
    participant Ollama_LLM
    participant MCP_Server

    User->>MCP_Client: 1) User types: "What is 5 + 8?"
    MCP_Client->>Ollama_LLM: 2) Send available tools + user query
    Ollama_LLM->>Ollama_LLM: 3) Understand query & tool descriptions
    Ollama_LLM->>Ollama_LLM: 4) Select tool: add(a=5, b=8)
    Ollama_LLM->>MCP_Client: 5) Return tool_call
    MCP_Client->>MCP_Server: 6) Execute add(a=5, b=8)
    MCP_Server-->>MCP_Client: 7) Return result: 13
    MCP_Client-->>User: 8) Show final answer: 13
```

---

## 📚 Project Structure

```
.
├── math_server.py      # MCP Server exposing add() and multiply() tools
├── ollama_client.py    # MCP Client interacting with Ollama
├── README.md           # Project documentation
```

---

## 🛠️ Setup Instructions

### 1. Install Requirements

```bash
pip install "mcp[cli] @ git+https://github.com/awslabs/mcp.git" openai==0.28 httpx
```

Make sure you have **Ollama installed** and running.

### 2. Pull or run an LLM model

```bash
ollama run llama3
```

(Ensure the model you run supports tool calling.)

### 3. Run the MCP Server

```bash
python math_server.py
```

The server exposes two simple tools:
- `add(a: int, b: int) -> int`
- `multiply(a: int, b: int) -> int`

### 4. Run the MCP Client

```bash
python ollama_client.py math_server.py
```

### 5. Interact!

Example queries:

```
Query: What is 5 + 8?
Response: 13

Query: Multiply 7 and 9
Response: 63
```

The MCP client sends the query and available tools to Ollama. The LLM internally decides which tool to use based on the tool descriptions and user intent.

---

## 🚀 How It Works

- MCP Client lists available tools.
- Sends tools + user query to Ollama LLM.
- LLM reasons about the best matching tool.
- LLM generates a `tool_call`.
- MCP Client invokes the function via the MCP Server.
- Final result is returned and displayed.

✅ No manual hardcoding!
✅ Everything runs locally!
✅ Fully autonomous!

---

## 📢 Why This Matters

This pattern enables building **smart local AI agents** that:
- Understand user intent
- Dynamically select the correct actions
- Operate fully offline and locally

It opens doors for:
- Autonomous developers
- Local intelligent assistants
- Secure AI workflows

---

## 🏷️ Hashtags for Sharing

```text
#MCP #ModelContextProtocol #Ollama #LocalLLM #FunctionCalling #Python #AI #DeveloperTools #AIEngineering #AutonomousAgents
```

---

## 🙌 Credits

- [Model Context Protocol](https://modelcontextprotocol.io)
- [Ollama](https://ollama.com)

---

> "Smarter AI agents start with understanding how they think!"

---

> **Next Steps:** Add Streamlit UI or Dockerize this project 🚀
iflow-mcp-rajeevchandra-mcp_client_server_example 0.1.0
MCP Server example with add and multiply tools
Requires Python: >=3.11

# MCP + Ollama Local Tool Calling Example

This project demonstrates how a local AI agent can **understand user queries** and **automatically call Python functions** using:

- Model Context Protocol (**MCP**)
- **Ollama** for running a local LLM (e.g., Llama3)
- **Python** MCP Client and Server

---

## 🔗 Sequence Diagram

```mermaid
sequenceDiagram
    participant User
    participant MCP_Client
    participant Ollama_LLM
    participant MCP_Server

    User->>MCP_Client: 1) User types: "What is 5 + 8?"
    MCP_Client->>Ollama_LLM: 2) Send available tools + user query
    Ollama_LLM->>Ollama_LLM: 3) Understand query & tool descriptions
    Ollama_LLM->>Ollama_LLM: 4) Select tool: add(a=5, b=8)
    Ollama_LLM->>MCP_Client: 5) Return tool_call
    MCP_Client->>MCP_Server: 6) Execute add(a=5, b=8)
    MCP_Server-->>MCP_Client: 7) Return result: 13
    MCP_Client-->>User: 8) Show final answer: 13
```

---

## 📚 Project Structure

```
.
├── math_server.py      # MCP Server exposing add() and multiply() tools
├── ollama_client.py    # MCP Client interacting with Ollama
├── README.md           # Project documentation
```

---

## 🛠️ Setup Instructions

### 1. Install Requirements

```bash
pip install "mcp[cli] @ git+https://github.com/awslabs/mcp.git" openai==0.28 httpx
```

Make sure you have **Ollama installed** and running.

### 2. Pull or run an LLM model

```bash
ollama run llama3
```

(Ensure the model you run supports tool calling.)

### 3. Run the MCP Server

```bash
python math_server.py
```

The server exposes two simple tools:
- `add(a: int, b: int) -> int`
- `multiply(a: int, b: int) -> int`

### 4. Run the MCP Client

```bash
python ollama_client.py math_server.py
```

### 5. Interact!

Example queries:

```
Query: What is 5 + 8?
Response: 13

Query: Multiply 7 and 9
Response: 63
```

The MCP client sends the query and available tools to Ollama. The LLM internally decides which tool to use based on the tool descriptions and user intent.

---

## 🚀 How It Works

- MCP Client lists available tools.
- Sends tools + user query to Ollama LLM.
- LLM reasons about the best matching tool.
- LLM generates a `tool_call`.
- MCP Client invokes the function via the MCP Server.
- Final result is returned and displayed.

✅ No manual hardcoding!
✅ Everything runs locally!
✅ Fully autonomous!

---

## 📢 Why This Matters

This pattern enables building **smart local AI agents** that:
- Understand user intent
- Dynamically select the correct actions
- Operate fully offline and locally

It opens doors for:
- Autonomous developers
- Local intelligent assistants
- Secure AI workflows

---

## 🏷️ Hashtags for Sharing

```text
#MCP #ModelContextProtocol #Ollama #LocalLLM #FunctionCalling #Python #AI #DeveloperTools #AIEngineering #AutonomousAgents
```

---

## 🙌 Credits

- [Model Context Protocol](https://modelcontextprotocol.io)
- [Ollama](https://ollama.com)

---

> "Smarter AI agents start with understanding how they think!"

---

> **Next Steps:** Add Streamlit UI or Dockerize this project 🚀
iflow-mcp_rajeevchandra_mcp-client-server-example 0.1.0
MCP Server example with add and multiply tools
Requires Python: >=3.11

# MCP + Ollama Local Tool Calling Example

This project demonstrates how a local AI agent can **understand user queries** and **automatically call Python functions** using:

- Model Context Protocol (**MCP**)
- **Ollama** for running a local LLM (e.g., Llama3)
- **Python** MCP Client and Server

---

## 🔗 Sequence Diagram

```mermaid
sequenceDiagram
    participant User
    participant MCP_Client
    participant Ollama_LLM
    participant MCP_Server

    User->>MCP_Client: 1) User types: "What is 5 + 8?"
    MCP_Client->>Ollama_LLM: 2) Send available tools + user query
    Ollama_LLM->>Ollama_LLM: 3) Understand query & tool descriptions
    Ollama_LLM->>Ollama_LLM: 4) Select tool: add(a=5, b=8)
    Ollama_LLM->>MCP_Client: 5) Return tool_call
    MCP_Client->>MCP_Server: 6) Execute add(a=5, b=8)
    MCP_Server-->>MCP_Client: 7) Return result: 13
    MCP_Client-->>User: 8) Show final answer: 13
```

---

## 📚 Project Structure

```
.
├── math_server.py      # MCP Server exposing add() and multiply() tools
├── ollama_client.py    # MCP Client interacting with Ollama
├── README.md           # Project documentation
```

---

## 🛠️ Setup Instructions

### 1. Install Requirements

```bash
pip install "mcp[cli] @ git+https://github.com/awslabs/mcp.git" openai==0.28 httpx
```

Make sure you have **Ollama installed** and running.

### 2. Pull or run an LLM model

```bash
ollama run llama3
```

(Ensure the model you run supports tool calling.)

### 3. Run the MCP Server

```bash
python math_server.py
```

The server exposes two simple tools:
- `add(a: int, b: int) -> int`
- `multiply(a: int, b: int) -> int`

### 4. Run the MCP Client

```bash
python ollama_client.py math_server.py
```

### 5. Interact!

Example queries:

```
Query: What is 5 + 8?
Response: 13

Query: Multiply 7 and 9
Response: 63
```

The MCP client sends the query and available tools to Ollama. The LLM internally decides which tool to use based on the tool descriptions and user intent.

---

## 🚀 How It Works

- MCP Client lists available tools.
- Sends tools + user query to Ollama LLM.
- LLM reasons about the best matching tool.
- LLM generates a `tool_call`.
- MCP Client invokes the function via the MCP Server.
- Final result is returned and displayed.

✅ No manual hardcoding!
✅ Everything runs locally!
✅ Fully autonomous!

---

## 📢 Why This Matters

This pattern enables building **smart local AI agents** that:
- Understand user intent
- Dynamically select the correct actions
- Operate fully offline and locally

It opens doors for:
- Autonomous developers
- Local intelligent assistants
- Secure AI workflows

---

## 🏷️ Hashtags for Sharing

```text
#MCP #ModelContextProtocol #Ollama #LocalLLM #FunctionCalling #Python #AI #DeveloperTools #AIEngineering #AutonomousAgents
```

---

## 🙌 Credits

- [Model Context Protocol](https://modelcontextprotocol.io)
- [Ollama](https://ollama.com)

---

> "Smarter AI agents start with understanding how they think!"

---

> **Next Steps:** Add Streamlit UI or Dockerize this project 🚀
aiagent-runner 0.1.13
Runner for AI Agent PM - executes tasks via MCP and CLI
Requires Python: >=3.9
Keywords: agent, ai, automation, mcp, orchestration, task-management

# AI Agent PM Coordinator

全エージェントのタスク実行を統合管理するオーケストレーションデーモン。

---

## 🚨 致命的な設計違反警告 (2026-01-09)

**現在の実装には致命的な設計違反があります。修正が必要です。**

### 問題点

Coordinator/Runnerは**純粋なMCPクライアント**であるべきですが、現在の実装は以下の不正な情報を保持しています：

| 設定項目 | 問題 | 対応 |
|---------|------|------|
| `mcp_server_command` | サーバー起動コマンドを保持 | **削除必須** |
| `mcp_database_path` | DBパス（内部実装詳細）を保持 | **削除必須** |

### 設計原則

```
✅ 正しい設計: Coordinatorはソケット接続のみ行う純粋なクライアント
❌ 現在の実装: Coordinatorがサーバー起動やDB接続情報を管理
```

### 影響

- Agent Instanceごとに新しいMCPサーバーをstdio transportで起動
- 複数のMCPサーバーが同じDBに同時アクセス → データ整合性の問題
- テストと本番で異なるDB設定が必要 → 設定の複雑化

### 正しいアーキテクチャ

```
[アプリ] → MCPデーモン起動（唯一のサーバー）
[Coordinator] → Unix Socketで接続（クライアントのみ）
[Agent Instance] → 同じUnix Socketで接続（クライアントのみ）
```

詳細は `docs/plan/PHASE4_COORDINATOR_ARCHITECTURE.md` の警告セクションを参照。

---

## クイックスタート

```bash
cd runner
pip install -e .

# デフォルト設定で起動（config/coordinator_default.yaml を使用）
python -m aiagent_runner --coordinator
```

---

## Coordinatorモード（推奨）

単一のCoordinatorが全ての(agent_id, project_id)ペアを管理します。

### 基本起動

```bash
# デフォルト設定で起動
python -m aiagent_runner --coordinator

# 詳細ログ出力
python -m aiagent_runner --coordinator -v
```

### カスタム設定ファイル

```bash
python -m aiagent_runner --coordinator -c /path/to/config.yaml
```

### 設定ファイル例

```yaml
# config/coordinator_default.yaml がデフォルトで読み込まれます
# カスタム設定で上書き可能

polling_interval: 10
max_concurrent: 3

# AI providers
ai_providers:
  claude:
    cli_command: claude
    cli_args:
      - "--dangerously-skip-permissions"
      - "--max-turns"
      - "50"

# Agents (passkeyのみ - ai_type等はMCPから取得)
agents:
  agt_developer:
    passkey: secret123
  agt_reviewer:
    passkey: ${REVIEWER_PASSKEY}  # 環境変数展開対応

log_directory: /tmp/coordinator_logs
```

### バックグラウンド実行

```bash
nohup python -m aiagent_runner --coordinator -v > coordinator.log 2>&1 &
```

---

## 設定の優先順位

1. **コマンドライン引数** (`--polling-interval` 等)
2. **指定した設定ファイル** (`-c /path/to/config.yaml`)
3. **デフォルト設定** (`runner/config/coordinator_default.yaml`)
4. **組み込みデフォルト値**

---

## 動作フロー

1. MCPサーバーに接続（Unixソケット）
2. `list_active_projects_with_agents()` で全プロジェクト・エージェントを取得
3. 各(agent_id, project_id)ペアに対して `get_agent_action()` を呼び出し
4. 作業が必要な場合、Agent Instance（Claude CLI等）をスポーン
5. Agent Instanceが `authenticate` → `get_my_task` → 実行 → `report_completed`
6. 待機して2に戻る

---

## 前提条件

- MCPサーバーが起動していること
- エージェントがアプリで登録済みで、passkeyが設定されていること
- 該当エージェントがプロジェクトに割り当てられていること
- タスクが `in_progress` ステータスであること

---

## Legacy Runnerモード（非推奨）

1エージェント = 1デーモン の旧アーキテクチャ。

```bash
# 非推奨: Coordinatorモードを使用してください
aiagent-runner --agent-id <AGENT_ID> --passkey <PASSKEY> --project-id <PROJECT_ID>
```

---

## 開発

```bash
pip install -e ".[dev]"
pytest
```