Summoner Agents MCP Server
A collection of Summoner clients and agents featuring example implementations and reusable templates
Summoner Agents is an open-source mcp server by Summoner-Network, written mainly in Python, with 25 GitHub stars and the Apache-2.0 license. Its code was last updated Feb 19, 2026.
Summoner Agent Library
<p align="center"> <img width="300px" src="assets/img/summoners_negotiating_rounded.png" /> </p>Table of Contents
SDK Setup
This repo assumes you have installed Summoner. We keep platform setup on the organization page so this README stays focused on agents. Click these three sections on the org page (via the badges below), in order:
- ① Prereqs: installs Python/Git + optional Rust (depending on your platform).
- ② Use the SDK: runs the installer script for this repo and creates the local
venv/. - ③ Run Agents: installs per-agent dependencies and shows the server + agent launch workflow.
If the org profile README is not visible, use the same sections in the fallback docs:
.github
Desktop App Compatibility
<details> <summary><b>(Click to expand)</b> This repository contains a collection of agent examples designed to run within the Summoner framework. These agents are organized in a structured and standardized format to ensure compatibility with the Summoner desktop application.</summary>Repository Structure
- Agent examples are located in the
agents/directory. - Supporting materials such as API adapters or shared tools are located in
api_library/.
Each subdirectory within agents/ must follow a specific structure to be recognized and imported correctly by the desktop application (see the Required Structure for Agent Folders section below).
Required Structure for Agent Folders
Each folder inside agents/ must comply with the following strict formatting rules:
✅ Mandatory Requirements
-
The folder name must follow the naming pattern:
agent_<name> -
The folder must contain a file named
agent.pywhich includes the agent's entry point:agent.run() # should be called within an asyncio context -
All imports from the Summoner SDK should follow one of the two forms:
from summoner.<module_name> import <function_or_class> # or import summoner -
The folder must include a
requirements.txtfile:-
This file will be used by the desktop app to install the agent's dependencies.
-
If running agents locally from this repository, the SDK must first be installed using:
source build_sdk.sh setup -
Then install agent dependencies using:
pip install -r agents/agent_<name>/requirements.txt
-
🟡 Optional Guidelines
- The folder may include any additional Python files or resources needed by
agent.py. There are no restrictions on file layout beyond the rules listed above.
Here is a well-structured and clear section you can add to your README to explain how to run an agent. It separates environment setup, server launch, and agent execution, while noting where agent-specific overrides might apply:
</details>Running an Agent
<details> <summary><b>(Click to expand)</b> To run an agent within the Summoner framework, follow these steps. This involves launching a server and then starting the agent process.</summary>Activate the Virtual Environment
If you have opened a new terminal, make sure to activate the virtual environment that was created during the SDK installation:
source venv/bin/activate # For POSIX systems (Linux/macOS)
📝 Note: If you have not installed the SDK yet, run:
source build_sdk.sh setup
Install agent requirements before running any agent
If you want run one specific agent, install the agent's dependencies as follows:
pip install -r agents/agent_<name>/requirements.txt
If you want all agents to be ready, run the helper script from the repository root (POSIX/bash):
bash install_requirements.sh
This script iterates over agents/agent_* and installs each requirements.txt it finds. If an agent folder has no requirements.txt, nothing is installed for that agent.
💡 Tip: If you encounter
ModuleNotFoundErrorwhen launching an agent, install the requirements using one of the commands above.
Launch the Summoner Server
The Summoner server is defined in the root file server.py. It can be run using either default or custom configurations.
Run with Default Config:
python server.py
Run with Custom Config:
Configuration files are located in the configs/ directory. Some agents may require a specific server configuration — refer to the README file inside the agent's folder for details.
python server.py --config configs/<specific_config>.json
Run the Agent
Once the server is running, you can launch an agent. Most agents are located in folders under agents/ and follow the naming pattern agent_<name>.
Run with Default Behavior:
python agents/agent_<name>/agent.py
Run with Custom Agent Config:
Some agents require additional configuration (e.g., socket parameters, logging, backpressure behavior). These are usually stored in a file like <specific_config>.json in the configs/ folder.
python agents/agent_<name>/agent.py --config configs/<specific_config>.json
</details>💡 Tip: Always consult the README inside the agent's folder for any overrides, environment variables, or preconditions specific to that agent.
Agent Collection
There are 58 agents available in this repo.
Legend
<details> <summary> Click to show the legend. </summary> <br>| Column | Description |
|---|---|
| Agent Name | Name or identifier of the agent. |
| Description | Brief summary of the agent's functionality. |
| Level | Difficulty level (e.g. Level 1 = Beginner). |
| Application | Primary use case (e.g. messaging, orchestration, negotiation). |
| Features | Key Summoner SDK capability demonstrated (e.g. core, aurora). |
| DB | ✅ if the agent uses a persistent or in-memory database (asqlite, etc.). |
| Queue | ✅ if the agent relies on asynchronous queues (asyncio.Queue, etc.). |
| Flows | ✅ if the agent follows a modular, trigger-driven flow structure. |
| Logs | ✅ if the agent demonstrates information logging via its logger attribute. |
| Hooks | ✅ if the agent defines hooks for pre/postprocessing of messages. |
| Temp. | ✅ if the agent is designed to serve as a reusable template. |
| Comp. | ✅ if the agent is composable within a larger multi-agent system. |
Core Messaging Agents
<details> <summary><b>(Click to expand)</b> Agents of <b>level 1-3</b> introducing core messaging primitives like <code>@send</code>, <code>@receive</code>, and <code>@hook</code>.</summary> <br> <div style="display: flex; justify-content: center;"> <table style="border-collapse: collapse; width: 95%; text-align: center;"> <thead> <tr> <th style="width: 10%; text-align: center;">Agent Name</th> <th style="width: 33%; text-align: center;">Description</th> <th style="width: 12%; text-align: center;">Level</th> <th style="width: 12%; text-align: center;">Features</th> <th style="width: 12%; text-align: center;">Applications</th> <th style="width: 3%; text-align: center;">DB</th> <th style="width: 3%; text-align: center;">Queue</th> <th style="width: 3%; text-align: center;">Flows</th> <th style="width: 3%; text-align: center;">Logs</th> <th style="width: 3%; text-align: center;">Hooks</th> <th style="width: 3%; text-align: center;">Temp.</th> <th style="width: 3%; text-align: center;">Comp.</th> </tr> </thead> <tbody> <tr> <td> <code><strong><a href="agents/agent_SendAgent_0/">SendAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Demonstrates the use of <code>@send</code></td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Emit-%20?color=9e2fc5"alt=""></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td> <code><strong><a href="agents/agent_SendAgent_1/">SendAgent_1</a></strong></code></td> <td style="font-size: 0.8em;">Demonstrates the use of <code>@send</code> and <code>@hook</code> with <code>Direction.SEND</code>.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code> <code>DID</code></td> <td><img src="https://img.shields.io/badge/Emit-%20?color=9e2fc5"alt=""></td> <td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_RecvAgent_0/">RecvAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Demonstrates the use of <code>@receive</code>.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Collect-%20?color=712fc5"alt=""></td> <td>✅</td><td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_RecvAgent_1/">RecvAgent_1</a></strong></code></td> <td style="font-size: 0.8em;">Demonstrates the use of <code>@receive</code> and <code>@hook</code> with <code>Direction.RECEIVE</code>.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Collect-%20?color=712fc5"alt=""></td> <td>✅</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_RecvAgent_2/">RecvAgent_2</a></strong></code></td> <td style="font-size: 0.8em;">Demonstrates the use of <code>@receive</code> and <code>@hook</code> to implement validation, banning, and message filtering.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>validation</code> <code>reputation</code></td> <td><img src="https://img.shields.io/badge/Collect-%20?color=712fc5"alt=""></td> <td>✅</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_EchoAgent_0/">EchoAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Combines both <code>@send</code> and <code>@receive</code>.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Redirect-%20?color=482fc5"alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_EchoAgent_1/">EchoAgent_1</a></strong></code></td> <td style="font-size: 0.8em;">Combines both <code>@send</code> and <code>@receive</code> with a receiving <code>hook</code>.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code> <code>validation</code></td> <td><img src="https://img.shields.io/badge/Redirect-%20?color=482fc5"alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_EchoAgent_2/">EchoAgent_2</a></strong></code></td> <td style="font-size: 0.8em;">Combines <code>@send</code> and <code>@receive</code> handlers with sending and receiving <code>hooks</code> checking for validation and signing messages.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>validation</code> <code>DID</code> <code>agent</code></td> <td><img src="https://img.shields.io/badge/Redirect-%20?color=482fc5"alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_StreamAgent_0/">StreamAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Derived from <code>EchoAgent_0</code>; triggers an LLM stream on <code>@receive</code>, buffers token events in an <code>asyncio.Queue</code>, and emits them via <code>@send</code> (queue-wait with timeout).</td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>streaming</code> <code>llm</code></td> <td><img src="https://img.shields.io/badge/Redirect-%20?color=482fc5" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_StreamAgent_1/">StreamAgent_1</a></strong></code></td> <td style="font-size: 0.8em;">Same as <code>StreamAgent_0</code> but uses a polling <code>@send</code> loop (<code>sleep</code> + <code>get_nowait</code>) to make the emission cadence easy to rate-limit.</td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>streaming</code> <code>llm</code></td> <td><img src="https://img.shields.io/badge/Redirect-%20?color=482fc5" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td> </tr> </tbody> </table> </div> </details> <p align="center"> <img width="550px" src="assets/mov2gif/gifs/demo_stream_framed.gif" /> </p>Chat Agents
<details> <summary><b>(Click to expand)</b> Agents of <b>level 1-3</b> that implement chat-style user interfaces, remote commands, and automaton routing for interactive control.</summary> <br> <div style="display: flex; justify-content: center;"> <table style="border-collapse: collapse; width: 95%; text-align: center;"> <thead> <tr> <th style="width: 10%; text-align: center;">Agent Name</th> <th style="width: 33%; text-align: center;">Description</th> <th style="width: 12%; text-align: center;">Level</th> <th style="width: 12%; text-align: center;">Features</th> <th style="width: 12%; text-align: center;">Applications</th> <th style="width: 3%; text-align: center;">DB</th> <th style="width: 3%; text-align: center;">Queue</th> <th style="width: 3%; text-align: center;">Flows</th> <th style="width: 3%; text-align: center;">Logs</th> <th style="width: 3%; text-align: center;">Hooks</th> <th style="width: 3%; text-align: center;">Temp.</th> <th style="width: 3%; text-align: center;">Comp.</th> </tr> </thead> <tbody> <tr> <td><code><strong><a href="agents/agent_ChatAgent_0/">ChatAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Implements a minimal chat UI via <code>@send</code> / <code>@receive</code>; supports single- or multi-line input.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Interaction-%20?color=452461" alt="Interaction"></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_ChatAgent_1/">ChatAgent_1</a></strong></code></td> <td style="font-size: 0.8em;">Extends <code>ChatAgent_0</code> with remote/self commands (travel, go_home, quit).</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>traveling</code></td> <td><img src="https://img.shields.io/badge/Control-%20?color=19578a" alt="Control"></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_ChatAgent_2/">ChatAgent_2</a></strong></code></td> <td style="font-size: 0.8em;">Activates automaton routing via <code>@upload_states</code>; toggles <code>opened/locked</code> to gate remote commands.</td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>upload_states</code> <code>traveling</code></td> <td><img src="https://img.shields.io/badge/Orchestration-%20?color=3a6ea5" alt="Orchestration"></td> <td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_ChatAgent_3/">ChatAgent_3</a></strong></code></td> <td style="font-size: 0.8em;">Shows explicit automaton transitions with <code>Move</code> / <code>Stay</code> (<code>opened → locked → opened</code>); remote/self travel, lock/open, quit.</td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>upload_states</code> <code>download_states</code> <code>traveling</code></td> <td><img src="https://img.shields.io/badge/Orchestration-%20?color=3a6ea5" alt="Orchestration"></td> <td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> </tbody> </table> </div> </details> <p align="center"> <img width="550px" src="assets/mov2gif/gifs/demo_travel_framed.gif" /> </p>Feedback Agents
<details> <summary><b>(Click to expand)</b> Agents of <b>level 1-3</b> for structured feedback: question/answer flows, delayed responses, and reporting mechanisms.</summary> <br> <div style="display: flex; justify-content: center;"> <table style="border-collapse: collapse; width: 95%; text-align: center;"> <thead> <tr> <th style="width: 10%; text-align: center;">Agent Name</th> <th style="width: 33%; text-align: center;">Description</th> <th style="width: 12%; text-align: center;">Level</th> <th style="width: 12%; text-align: center;">Features</th> <th style="width: 12%; text-align: center;">Applications</th> <th style="width: 3%; text-align: center;">DB</th> <th style="width: 3%; text-align: center;">Queue</th> <th style="width: 3%; text-align: center;">Flows</th> <th style="width: 3%; text-align: center;">Logs</th> <th style="width: 3%; text-align: center;">Hooks</th> <th style="width: 3%; text-align: center;">Temp.</th> <th style="width: 3%; text-align: center;">Comp.</th> </tr> </thead> <tbody> <tr> <td><code><strong><a href="agents/agent_ReportAgent_0/">ReportAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Queues messages for a short window, then sends one newline-joined report.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Redirect-%20?color=482fc5" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_ReportAgent_1/">ReportAgent_1</a></strong></code></td> <td style="font-size: 0.8em;">Queues messages for a short window, then emits them separately using <code>multi=True</code>.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code> <code>multi</code></td> <td><img src="https://img.shields.io/badge/Redirect-%20?color=482fc5" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_ExamAgent_0/">ExamAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Demonstrates use of <code>@receive</code> and <code>@send</code> with queues and delays to run an automated Q&A round.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Interaction-%20?color=452461" alt=""></td> <td>✗</td><td>✅</td><td>✅</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_ExamAgent_1/">ExamAgent_1</a></strong></code></td> <td style="font-size: 0.8em;">Extends <code>ExamAgent_0</code> with flow-routed <code>@receive</code>; <code>@send</code> still runs timed scoring but delegates state handling to the flow engine.</td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Interaction-%20?color=452461" alt=""></td> <td>✗</td><td>✅</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td> </tr> <!-- <tr> <td><code><strong>Storage</strong></code></td> <td style="font-size: 0.8em;">...</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Collect-%20?color=712fc5" alt=""></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td> </tr> <tr> <td><code><strong>Subscribe</strong></code></td> <td style="font-size: 0.8em;">...</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Emit-%20?color=9e2fc5" alt=""></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td> </tr> <tr> <td><code><strong>EventEmit</strong></code></td> <td style="font-size: 0.8em;">...</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Emit-%20?color=9e2fc5" alt=""></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td> </tr> --> </tbody> </table> </div> </details> <p align="center"> <img width="600px" src="assets/mov2gif/gifs/demo_exam_framed.gif" /> </p>Graph-Based (or Category-Based) Agents
<details> <summary><b>(Click to expand)</b> Agents of <b>level 3-5</b> that treat orchestration as a typed state machine: nodes are workflow stages, edges are transitions or decision-making choices, and "edges between edges" encode path-dependent amendments between decisions.</summary> <br> <div style="display: flex; justify-content: center;"> <table style="border-collapse: collapse; width: 95%; text-align: center;"> <thead> <tr> <th style="width: 10%; text-align: center;">Agent Name</th> <th style="width: 33%; text-align: center;">Description</th> <th style="width: 12%; text-align: center;">Level</th> <th style="width: 12%; text-align: center;">Features</th> <th style="width: 12%; text-align: center;">Applications</th> <th style="width: 3%; text-align: center;">DB</th> <th style="width: 3%; text-align: center;">Queue</th> <th style="width: 3%; text-align: center;">Flows</th> <th style="width: 3%; text-align: center;">Logs</th> <th style="width: 3%; text-align: center;">Hooks</th> <th style="width: 3%; text-align: center;">Temp.</th> <th style="width: 3%; text-align: center;">Comp.</th> </tr> </thead> <tbody> <tr> <td><code><strong><a href="agents/agent_CatArrowAgent/">CatArrowAgent</a></strong></code></td> <td style="font-size: 0.8em;"> Single-arrow-shaped agent: <code>@upload_states</code> / <code>@download_states</code> expose the tape; route handlers return <code>Move</code> / <code>Stay</code> to traverse or block the arrow. </td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>upload_states</code> <code>download_states</code> <code>hooks</code> <code>on_triggers</code> <code>on_actions</code> <code>dna</code></td> <td><img src="https://img.shields.io/badge/Orchestration-%20?color=3a6ea5" alt=""></td> <td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_CatTriangleAgent/">CatTriangleAgent</a></strong></code></td> <td style="font-size: 0.8em;"> Triangle-shaped agent handling partial inputs: <code>@upload_states</code> / <code>@download_states</code> route by available fields; handlers return <code>Move</code> / <code>Stay</code>; message is reconstructed in memory. </td> <td><img src="https://img.shields.io/badge/LVL_4-%20?color=DF7919" alt=""></td> <td><code>core</code> <code>upload_states</code> <code>download_states</code> <code>hooks</code> <code>on_triggers</code> <code>on_actions</code> <code>dna</code></td> <td><img src="https://img.shields.io/badge/Planning-%20?color=2b6f63" alt=""></td> <td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_CatUpdateAgent_0/">CatUpdateAgent_0</a></strong></code></td> <td style="font-size: 0.8em;"> 2-category-like modeling of a supply-chain use case: objects <code>A→B→C→D</code> are stages; arrows <code>f/g</code> with <code>p/q</code> are decisions; arrows between arrows <code>eta_*</code> / <code>mu_*</code> are admendments. </td> <td><img src="https://img.shields.io/badge/LVL_5-%20?color=DF4119" alt=""></td> <td><code>core</code> <code>upload_states</code> <code>download_states</code> <code>hooks</code> <code>on_triggers</code> <code>on_actions</code> <code>dna</code></td> <td><img src="https://img.shields.io/badge/Decision_Flow-%20?color=6b3fa0" alt=""></td> <td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✗</td><td>✗</td> </tr> <tr> <td><code><strong><a href="agents/agent_CatUpdateAgent_1/">CatUpdateAgent_1</a></strong></code></td> <td style="font-size: 0.8em;"> Same as <a href="agents/agent_CatUpdateAgent_0/"><code>CatUpdateAgent_0</code></a>, but with human-readable public state names, a switchable policy strategy (use <code>--intent-strategy</code>), and a built-in final report + scoring step. </td> <td><img src="https://img.shields.io/badge/LVL_5-%20?color=DF4119" alt=""></td> <td><code>core</code> <code>upload_states</code> <code>download_states</code> <code>hooks</code> <code>on_triggers</code> <code>on_actions</code> <code>dna</code></td> <td><img src="https://img.shields.io/badge/Decision_Flow-%20?color=6b3fa0" alt=""></td> <td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✗</td><td>✗</td> </tr> </tbody> </table> </div> </details> <p align="center"> <img width="600px" src="assets/mov2gif/gifs/demo_li_supply_framed.gif" /> </p>Connector Agents
<details> <summary><b>(Click to expand)</b> Agents of <b>level 1-2</b> enabling composability via connectors to integrate external ecosystems (e.g., database servers, MCP, LangChain, CrewAI).</summary> <br> <div style="display: flex; justify-content: center;"> <table style="border-collapse: collapse; width: 95%; text-align: center;"> <thead> <tr> <th style="width: 10%; text-align: center;">Agent Name</th> <th style="width: 33%; text-align: center;">Description</th> <th style="width: 12%; text-align: center;">Level</th> <th style="width: 12%; text-align: center;">Features</th> <th style="width: 12%; text-align: center;">Applications</th> <th style="width: 3%; text-align: center;">DB</th> <th style="width: 3%; text-align: center;">Queue</th> <th style="width: 3%; text-align: center;">Flows</th> <th style="width: 3%; text-align: center;">Logs</th> <th style="width: 3%; text-align: center;">Hooks</th> <th style="width: 3%; text-align: center;">Temp.</th> <th style="width: 3%; text-align: center;">Comp.</th> </tr> </thead> <tbody> <tr> <td><code><strong><a href="agents/agent_ConnectAgent_0/">ConnectAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Combines <code>@receive</code> and <code>@send(multi=True)</code> to relay Summoner messages via SQLite, using <code>db_sdk</code> (ORM) with batching and persistent connections.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code> <code>multi</code></td> <td><img src="https://img.shields.io/badge/MCP-%20?color=1122ce" alt=""> <img src="https://img.shields.io/badge/Database-%20?color=a48453" alt=""></td> <td>✅</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✗</td> </tr> <tr> <td><code><strong><a href="agents/agent_ConnectAgent_1/">ConnectAgent_1</a></strong></code></td> <td style="font-size: 0.8em;">Combines <code>@receive</code> and <code>@send(multi=True)</code> to relay Summoner messages via SQLite, using raw <code>aiosqlite</code> with short-lived connections.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code> <code>multi</code></td> <td><img src="https://img.shields.io/badge/MCP-%20?color=1122ce" alt=""> <img src="https://img.shields.io/badge/Database-%20?color=a48453" alt=""></td> <td>✅</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✗</td> </tr> <tr> <td><code><strong><a href="agents/agent_OrchBridgeAgent/">OrchBridgeAgent</a></strong></code></td> <td style="font-size: 0.8em;">Direct bridge: routes Summoner payloads to <strong>CrewAI</strong> (JSON via <code>Crew</code>+<code>ChatOpenAI</code>) or <strong>LangChain</strong> (text/structured), enabling drop-in composition with external orchestrators.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>LangChain</code> <code>CrewAI</code></td> <td> <img src="https://img.shields.io/badge/LangChain-%20?color=a51c30" alt="LangChain"> <img src="https://img.shields.io/badge/CrewAI-%20?color=c90076" alt="CrewAI"> </td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> </tbody> </table> </div> </details>MMO-game agents
<details> <summary><b>(Click to expand)</b> Agents of <b>level 3-4</b> that implement a shared 2D sandbox: game masters simulate and broadcast world state while players send keyboard input and render a local view using <code>@receive</code>, <code>@send</code>, and <code>@hook</code>.</summary> <br> <div style="display: flex; justify-content: center;"> <table style="border-collapse: collapse; width: 95%; text-align: center;"> <thead> <tr> <th style="width: 10%; text-align: center;">Agent Name</th> <th style="width: 33%; text-align: center;">Description</th> <th style="width: 12%; text-align: center;">Level</th> <th style="width: 12%; text-align: center;">Features</th> <th style="width: 12%; text-align: center;">Applications</th> <th style="width: 3%; text-align: center;">DB</th> <th style="width: 3%; text-align: center;">Queue</th> <th style="width: 3%; text-align: center;">Flows</th> <th style="width: 3%; text-align: center;">Logs</th> <th style="width: 3%; text-align: center;">Hooks</th> <th style="width: 3%; text-align: center;">Temp.</th> <th style="width: 3%; text-align: center;">Comp.</th> </tr> </thead> <tbody> <tr> <td><code><strong><a href="agents/agent_GameMasterAgent_0/">GameMasterAgent_0</a></strong></code></td> <td style="font-size: 0.8em;"> Authoritative simulator for a 2D world. Consumes player ticks via <code>@receive</code>, broadcasts <code>world_state</code> via <code>@send</code>. Uses <code>@hook</code> to normalize envelopes. </td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>DID</code></td> <td><img src="https://img.shields.io/badge/Simulate-%20?color=66023C" alt="Simulate"></td> <td>🟡</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✗</td> </tr> <tr> <td><code><strong><a href="agents/agent_GameMasterAgent_1/">GameMasterAgent_1</a></strong></code></td> <td style="font-size: 0.8em;"> Large-map simulator with clustered golden-angle spawning. Consumes player ticks via <code>@receive</code>, broadcasts <code>world_state</code> via <code>@send</code>. Uses <code>@hook</code> to normalize envelopes. </td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>DID</code></td> <td><img src="https://img.shields.io/badge/Simulate-%20?color=66023C" alt="Simulate"></td> <td>🟡</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✗</td> </tr> <tr> <td><code><strong><a href="agents/agent_GamePlayerAgent_0/">GamePlayerAgent_0</a></strong></code></td> <td style="font-size: 0.8em;"> Minimal client UI. Polls keyboard into a <code>keys</code> dict, emits ticks at 20 Hz with <code>@send</code>, and renders <code>world_state</code> received via <code>@receive</code>. Uses <code>@hook</code> to normalize and stamp <code>pid</code>. </td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>DID</code></td> <td><img src="https://img.shields.io/badge/Render-%20?color=4B3F72" alt="Render"></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td><td>✗</td> </tr> <tr> <td><code><strong><a href="agents/agent_GamePlayerAgent_1/">GamePlayerAgent_1</a></strong></code></td> <td style="font-size: 0.8em;"> Same messaging pattern as with <code>GamePlayerAgent_0</code>. Resizable client with camera follow, checkerboard grass, optional avatar. Adds persistent ID via <code>--id</code> and configurable client logger. </td> <td><img src="https://img.shields.io/badge/LVL_4-%20?color=DF7919" alt=""></td> <td><code>core</code> <code>DID</code></td> <td><img src="https://img.shields.io/badge/Render-%20?color=4B3F72" alt="Render"></td> <td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✗</td> </tr> <tr> <td><code><strong><a href="agents/agent_GamePlayerAgent_2/">GamePlayerAgent_2</a></strong></code></td> <td style="font-size: 0.8em;"> Same messaging pattern as with <code>GamePlayerAgent_1</code>. Client with seeded pixel-art grass and an LRU tile cache for performance. Uses persistent ID and <code>--seed</code> for deterministic visuals. </td> <td><img src="https://img.shields.io/badge/LVL_4-%20?color=DF7919" alt=""></td> <td><code>core</code> <code>DID</code></td> <td><img src="https://img.shields.io/badge/Render-%20?color=4B3F72" alt="Render"></td> <td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✗</td> </tr> </tbody> </table> </div> </details> <p align="center"> <img width="600px" src="assets/mov2gif/gifs/demo_mmo_2_framed.gif" /> </p>Security and Handshake Agents
<details> <summary><b>(Click to expand)</b> Agents of <b>level 1, 4, 5 and 6</b> covering backpressure tests, validation hooks, cryptographic DID handshakes, and decision-making in negotiation flows.</summary> <br> <div style="display: flex; justify-content: center;"> <table style="border-collapse: collapse; width: 95%; text-align: center;"> <thead> <tr> <th style="width: 10%; text-align: center;">Agent Name</th> <th style="width: 33%; text-align: center;">Description</th> <th style="width: 12%; text-align: center;">Level</th> <th style="width: 12%; text-align: center;">Features</th> <th style="width: 12%; text-align: center;">Applications</th> <th style="width: 3%; text-align: center;">DB</th> <th style="width: 3%; text-align: center;">Queue</th> <th style="width: 3%; text-align: center;">Flows</th> <th style="width: 3%; text-align: center;">Logs</th> <th style="width: 3%; text-align: center;">Hooks</th> <th style="width: 3%; text-align: center;">Temp.</th> <th style="width: 3%; text-align: center;">Comp.</th> </tr> </thead> <tbody> <tr> <td><code><strong><a href="agents/agent_RateLimitAgent_0/">RateLimitAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Tests server backpressure using <code>@send</code> and <code>@receive</code>.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code> <code>multi</code> </td> <td><img src="https://img.shields.io/badge/Red_Team-%20?color=cd280a" alt=""></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_RateLimitAgent_1/">RateLimitAgent_1</a></strong></code></td> <td style="font-size: 0.8em;">Tests server backpressure using <code>@send(multi=True)</code> and <code>@receive</code> to simulate concurrent sends</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code> <code>multi</code> </td> <td><img src="https://img.shields.io/badge/Red_Team-%20?color=cd280a" alt=""></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_RateLimitAgent_2/">RateLimitAgent_2</a></strong></code></td> <td style="font-size: 0.8em;">Tests backpressure using <code>@send(multi=True)</code> and terminates via <code>.quit()</code> in <code>@receive</code>.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code> <code>multi</code> <code>traveling</code> </td> <td><img src="https://img.shields.io/badge/Red_Team-%20?color=cd280a" alt=""></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_HSAgent_0/">HSAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Explores a nonce-echo handshake to initiate and finalize an exchange.</td> <td><img src="https://img.shields.io/badge/LVL_4-%20?color=DF7919" alt=""></td> <td><code>core</code> <code>multi</code> <code>upload_states</code> <code>download_states</code> <code>on_triggers</code> <code>validation</code> <code>DID</code></td> <td><img src="https://img.shields.io/badge/Handshake-%20?color=cd710a" alt=""></td> <td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✗</td> </tr> <tr> <td><code><strong><a href="agents/agent_HSAgent_1/">HSAgent_1</a></strong></code></td> <td style="font-size: 0.8em;">Explores a cryptographic handshake with persistent DID identity to initiate and finalize an exchange.</td> <td><img src="https://img.shields.io/badge/LVL_5-%20?color=DF4119" alt=""></td> <td><code>core</code> <code>multi</code> <code>upload_states</code> <code>download_states</code> <code>on_triggers</code> <code>validation</code> <code>DID</code></td> <td><img src="https://img.shields.io/badge/Handshake-%20?color=cd710a" alt=""></td> <td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✗</td> </tr> <tr> <td><code><strong><a href="agents/agent_HSSellAgent_0/">HSSellAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Explores a selling negotiation overlay on top of the handshake to initiate and finalize a deal.</td> <td><img src="https://img.shields.io/badge/LVL_6-%20?color=F20F40" alt=""></td> <td><code>core</code> <code>multi</code> <code>upload_states</code> <code>download_states</code> <code>on_triggers</code> <code>validation</code> <code>DID</code></td> <td><img src="https://img.shields.io/badge/Handshake-%20?color=cd710a" alt=""> <img src="https://img.shields.io/badge/Negotiation-%20?color=f1c822" alt=""></td> <td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✗</td> </tr> <tr> <td><code><strong><a href="agents/agent_HSBuyAgent_0/">HSBuyAgent_0</a></strong></code></td> <td style="font-size: 0.8em;">Explores a buying negotiation overlay on top of the handshake to initiate and finalize a deal.</td> <td><img src="https://img.shields.io/badge/LVL_6-%20?color=F20F40" alt=""></td> <td><code>core</code> <code>multi</code> <code>upload_states</code> <code>download_states</code> <code>on_triggers</code> <code>validation</code> <code>DID</code></td> <td><img src="https://img.shields.io/badge/Handshake-%20?color=cd710a" alt=""> <img src="https://img.shields.io/badge/Negotiation-%20?color=f1c822" alt=""></td> <td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✗</td> </tr> </tbody> </table> </div> </details> <p align="center"> <img width="600px" src="assets/mov2gif/gifs/demo_merchants_framed.gif" /> </p>API Agents
<details> <summary><b>(Click to expand)</b> Agents of <b>level 1-3</b> bridging external services (registries, apps, LLM tools) to extend SDK capabilities.</summary> <br> <div style="display: flex; justify-content: center;"> <table style="border-collapse: collapse; width: 95%; text-align: center;"> <thead> <tr> <th style="width: 10%; text-align: center;">Agent Name</th> <th style="width: 33%; text-align: center;">Description</th> <th style="width: 12%; text-align: center;">Level</th> <th style="width: 12%; text-align: center;">Features</th> <th style="width: 12%; text-align: center;">Applications</th> <th style="width: 3%; text-align: center;">DB</th> <th style="width: 3%; text-align: center;">Queue</th> <th style="width: 3%; text-align: center;">Flows</th> <th style="width: 3%; text-align: center;">Logs</th> <th style="width: 3%; text-align: center;">Hooks</th> <th style="width: 3%; text-align: center;">Temp.</th> <th style="width: 3%; text-align: center;">Comp.</th> </tr> </thead> <tbody> <tr> <td><code><strong><a href="agents/agent_InputAgent/">InputAgent</a></strong></code></td> <td style="font-size: 0.8em;">Minimal bridge: emits raw strings or parsed JSON; supports single- or multi-line input.</td> <td><img src="https://img.shields.io/badge/LVL_1-%20?color=2fc56c" alt=""></td> <td><code>core</code></td> <td><img src="https://img.shields.io/badge/Interaction-%20?color=452461" alt="Interaction"></td> <td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_GPTRespondAgent/">GPTRespondAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT responder: builds (personality + format) prompt and returns JSON; adds token/cost guardrails to control API cost.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code></td> <td><img src="https://img.shields.io/badge/Respond-%20?color=0b8f9a" alt="Respond"></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_LangChainCrewAIAgent/">LangChainCrewAIAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT responder with <strong>CrewAI</strong>/<strong>LangChain</strong> compatibility: JSON via <code>CrewAI</code> + <code>ChatOpenAI</code>, or using text/structured via <code>LangChain</code>; adds token/cost guardrails to control API cost.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>LangChain</code> <code>CrewAI</code></td> <td><img src="https://img.shields.io/badge/Respond-%20?color=0b8f9a" alt="Respond"></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_GPTClusterAgent/">GPTClusterAgent</a></strong></code></td> <td style="font-size: 0.8em;">Embeds texts with budget guards, then clusters via configurable algorithms (K-Means default; Agglomerative/DBSCAN optional).</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>analytics</code> <code>guardrails</code></td> <td><img src="https://img.shields.io/badge/Cluster-%20?color=3a6ea5" alt="Cluster"></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_GPTWikipediaAgent/">GPTWikipediaAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to Wikipedia REST API: routes encyclopedic queries to title search/summary calls and returns normalized results.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>Wikipedia</code></td> <td><img src="https://img.shields.io/badge/Registry-%20?color=bd1edd" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_GPTArXivAgent/">GPTArXivAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to arXiv: turns research queries into arXiv API searches and returns structured lists of recent papers.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>ArXiv</code></td> <td><img src="https://img.shields.io/badge/Registry-%20?color=bd1edd" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_GPTPubMedAgent/">GPTPubMedAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to PubMed: selects latest or most relevant biomedical articles via E-utilities and returns structured summaries.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>PubMed</code></td> <td><img src="https://img.shields.io/badge/Registry-%20?color=bd1edd" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_GPTGitHubAgent/">GPTGitHubAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to GitHub: maps repo questions to recent-commit lookups and returns normalized commit metadata.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>GitHub</code></td> <td><img src="https://img.shields.io/badge/App-%20?color=f1227a" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_GPTRedditAgent/">GPTRedditAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to Reddit: turns topic/subreddit prompts into async PRAW searches and returns summarized post lists.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>Reddit</code></td> <td><img src="https://img.shields.io/badge/App-%20?color=f1227a" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_GPTNotionAgent/">GPTNotionAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to Notion: decides between search, database query, or page inspection and returns structured workspace data.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>Notion</code></td> <td><img src="https://img.shields.io/badge/App-%20?color=f1227a" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_GPTSlackAgent/">GPTSlackAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to Slack: listens to app mentions, decides relay vs direct reply, and posts threaded answers with channel/user handoff metadata.</td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>Slack</code></td> <td><img src="https://img.shields.io/badge/App-%20?color=f1227a" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> </tbody> </table> </div> </details> <p align="center"> <img width="600px" src="assets/mov2gif/gifs/demo_gptagent_framed.gif" /> </p>MCP-Based Agents
<details> <summary><b>(Click to expand)</b> MCP-based agents of <b>level 2</b> that call external services via an MCP tool server (local or remote).</summary> <br> <div style="display: flex; justify-content: center;"> <table style="border-collapse: collapse; width: 95%; text-align: center;"> <thead> <tr> <th style="width: 10%; text-align: center;">Agent Name</th> <th style="width: 33%; text-align: center;">Description</th> <th style="width: 12%; text-align: center;">Level</th> <th style="width: 12%; text-align: center;">Features</th> <th style="width: 12%; text-align: center;">Applications</th> <th style="width: 3%; text-align: center;">DB</th> <th style="width: 3%; text-align: center;">Queue</th> <th style="width: 3%; text-align: center;">Flows</th> <th style="width: 3%; text-align: center;">Logs</th> <th style="width: 3%; text-align: center;">Hooks</th> <th style="width: 3%; text-align: center;">Temp.</th> <th style="width: 3%; text-align: center;">Comp.</th> </tr> </thead> <tbody> <tr> <td><code><strong><a href="agents/agent_MCPArXivAgent/">MCPArXivAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to arXiv via MCP: turns research queries into MCP tool calls and returns structured lists of recent papers.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>ArXiv</code></td> <td><img src="https://img.shields.io/badge/Registry-%20?color=bd1edd" alt=""> <img src="https://img.shields.io/badge/MCP-%20?color=1122ce" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_MCPPubMedAgent/">MCPPubMedAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to PubMed via MCP: turns biomedical prompts into a single MCP tool call and returns structured article metadata.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>PubMed</code></td> <td><img src="https://img.shields.io/badge/Registry-%20?color=bd1edd" alt=""> <img src="https://img.shields.io/badge/MCP-%20?color=1122ce" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_MCPWikipediaAgent/">MCPWikipediaAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to Wikipedia via MCP: maps encyclopedic prompts to a single MCP tool call and returns normalized title search/summary results.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>Wikipedia</code></td> <td><img src="https://img.shields.io/badge/Registry-%20?color=bd1edd" alt=""> <img src="https://img.shields.io/badge/MCP-%20?color=1122ce" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_MCPGitHubAgent/">MCPGitHubAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to GitHub via MCP: maps repo prompts to a single MCP tool call and returns normalized commit / repo metadata.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>GitHub</code></td> <td><img src="https://img.shields.io/badge/App-%20?color=f1227a" alt=""> <img src="https://img.shields.io/badge/MCP-%20?color=1122ce" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_MCPNotionAgent/">MCPNotionAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to Notion via MCP: chooses an MCP tool call (search/query/page) and returns structured workspace data.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>Notion</code></td> <td><img src="https://img.shields.io/badge/App-%20?color=f1227a" alt=""> <img src="https://img.shields.io/badge/MCP-%20?color=1122ce" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_MCPRedditAgent/">MCPRedditAgent</a></strong></code></td> <td style="font-size: 0.8em;">Guarded GPT bridge to Reddit via MCP: turns subreddit/topic/thread prompts into a single MCP tool call backed by Async PRAW, returning normalized posts/comments.</td> <td><img src="https://img.shields.io/badge/LVL_2-%20?color=b1d52d" alt=""></td> <td><code>core</code> <code>agent</code> <code>DID</code> <code>guardrails</code> <code>Reddit</code></td> <td><img src="https://img.shields.io/badge/App-%20?color=f1227a" alt=""> <img src="https://img.shields.io/badge/MCP-%20?color=1122ce" alt=""></td> <td>✗</td><td>✅</td><td>✗</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr> </tbody> </table> </div> </details> <p align="center"> <img width="600px" src="assets/mov2gif/gifs/demo_mcp_pubmed_framed.gif" /> </p>DNA-Induced Agents
<details> <summary><b>(Click to expand)</b> Agents of <b>level 3</b> showcasing the use of agentic DNA to merge or clone agent code.</summary> <br> <div style="display: flex; justify-content: center;"> <table style="border-collapse: collapse; width: 95%; text-align: center;"> <thead> <tr> <th style="width: 10%; text-align: center;">Agent Name</th> <th style="width: 33%; text-align: center;">Description</th> <th style="width: 12%; text-align: center;">Level</th> <th style="width: 12%; text-align: center;">Features</th> <th style="width: 12%; text-align: center;">Applications</th> <th style="width: 3%; text-align: center;">DB</th> <th style="width: 3%; text-align: center;">Queue</th> <th style="width: 3%; text-align: center;">Flows</th> <th style="width: 3%; text-align: center;">Logs</th> <th style="width: 3%; text-align: center;">Hooks</th> <th style="width: 3%; text-align: center;">Temp.</th> <th style="width: 3%; text-align: center;">Comp.</th> </tr> </thead> <tbody> <tr> <td><code><strong><a href="agents/agent_DNACloneAgent_0/">DNACloneAgent_0</a></strong></code></td> <td style="font-size: 0.8em;"> Clones an existing agent by replaying its exported agent definition (DNA) via <code>ClientTranslation</code>, without importing the original source file. </td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>flows</code> <code>translation</code> <code>dna</code></td> <td><img src="https://img.shields.io/badge/patching-%20?color=d67863" alt=""></td> <td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_DNAMergeAgent_0/">DNAMergeAgent_0</a></strong></code></td> <td style="font-size: 0.8em;"> Minimal merge example: combines two exported agent definitions (DNA) into a single client that contains the union of routes. </td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>flows</code> <code>merge</code> <code>dna</code></td> <td><img src="https://img.shields.io/badge/patching-%20?color=d67863" alt=""></td> <td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_DNAMergeAgent_1/">DNAMergeAgent_1</a></strong></code></td> <td style="font-size: 0.8em;"> Merge example focusing on conflict handling and precedence: demonstrates how overlapping routes are resolved when combining two DNA sources. </td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>flows</code> <code>merge</code> <code>priority</code> <code>dna</code></td> <td><img src="https://img.shields.io/badge/patching-%20?color=d67863" alt=""></td> <td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> <tr> <td><code><strong><a href="agents/agent_DNAMergeAgent_2/">DNAMergeAgent_2</a></strong></code></td> <td style="font-size: 0.8em;"> Full merge scenario with two subgraphs and shared objects: a single input can trigger multiple handlers originating from the two merged DNA sources. </td> <td><img src="https://img.shields.io/badge/LVL_3-%20?color=dfa018" alt=""></td> <td><code>core</code> <code>flows</code> <code>merge</code> <code>dispatch</code> <code>dna</code></td> <td><img src="https://img.shields.io/badge/patching-%20?color=d67863" alt=""></td> <td>✗</td><td>✗</td><td>✅</td><td>✗</td><td>✗</td><td>✅</td><td>✅</td> </tr> </tbody> </table> </div> </details>Summoner Agents alternatives
View more →Similar mcp servers in Productivity & Workflow, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Summoner Agents (this page) Summoner-Network | 25 | Apache-2.0 | Feb 19, 2026 | Scanned, no flagged issues |
| N8n MCP czlonkowski | 23k | MIT | Oct 27, 2026 | Scanned, no flagged issues |
| Trigger Dev triggerdotdev | 17k | Apache-2.0 | Oct 31, 2026 | Scanned, no flagged issues |
| Skill Seekers yusufkaraaslan | 15k | MIT | Sep 30, 2026 | Scanned, no flagged issues |
| Windows MCP CursorTouch | 11k | MIT | Nov 1, 2026 | Scanned, no flagged issues |
| Mobile MCP mobile-next | 10k | Apache-2.0 | Oct 30, 2026 | Scanned, no flagged issues |