Skip to main content
Glama

Mini Agent MCP

npm version npm downloads GitHub license GitHub stars MCP Node.js

䞀䞪基于 FastMCP + OpenAI SDK 的 MCP 智胜代理服务噚
集成 ReAct Agent、DAG 工䜜流、深床研究、持久化记忆、技胜孊习、AnySearch 检玢等胜力
单二进制即可托管 / 本地郚眲 / 嵌入任意 MCP 客户端


䞀、这是什么

mini-agent-mcp 是䞀䞪遵埪 Model Context Protocol (MCP) 的 stdio / SSE 服务噚

  • 对倖只暎露 1 䞪 MCP 工具run_agent——甚于没有子 Agent 的应甚泚入䞀䞪"子智胜䜓"

  • 对内托管䞀䞪 ReAct 掚理代理自䞻调甚 14 䞪内郚工具6 䞪基础工具 + 4 䞪 AnySearch 工具 + 高级 pipeline 等完成任务

  • 内眮 DAG 工䜜流䞎倚阶段深床研究管线

  • 通过 ToolManager 统䞀管理超时、并发、重试、闚犁

  • 通过 .memory/ 侎 .skills/ 实现本地持久化记忆和技胜孊习

支持䞉种 LLM 通信暡匏自劚级联 fallback

  1. MCP Sampling — 客户端暡型零配眮

  2. Direct HTTP — 通过 OpenAI SDK 盎连任意兌容端点

  3. Rule-based — 基于正则的暡匏匹配兜底


Related MCP server: mcp-toolkit

二、栞心特性

暡块

胜力

🧮 基础工具

安党数孊计算、文本统计、文本蜬换、单䜍换算、日期时闎、随机生成

🀖 ReAct Agent

原生 Function Calling 倚步掚理自劚匹配历史技胜Hook 泚入

🔗 DAG 工䜜流

有向无环囟猖排并行执行无䟝赖节点自劚泚入䞊枞结果

🔍 深床研究

拆解子问题 → 并行检玢 → 绌合报告䞉阶段管线

💟 记忆系统

4 类标筟化持久记忆按访问频次 LRU 检玢

🎯 技胜系统

完成任务后提取可倍甚技胜新任务自劚匹配

🌐 AnySearch 集成

自劚发现并接入检玢工具仅䟛 Agent 内郚调甚

🛡 工具闚犁

蟓入长床䞊限、错误分类、智胜重试、超时控制

🔌 䞉暡匏 LLM

Sampling → HTTP → Rule-based 透明级联 fallback

🪝 Hooks 扩展

圚 LLM 调甚前后泚入自定义逻蟑Yao 暡匏


䞉、架构总览

┌─────────────────────────────────────────────────────────────────────┐
│                       MCP 客户端 (Claude / ZCode)                   │
│              tools/list 只见 1 䞪工具: run_agent                    │
│              tools/call 仅可调 run_agent                            │
└─────────────────────────────┬───────────────────────────────────────┘
                              │ run_agent(task)
┌─────────────────────────────▌───────────────────────────────────────┐
│                         FastMCP Server                              │
│              run_agent — 唯䞀对倖的 MCP 工具                          │
└─────────────────────────────┬───────────────────────────────────────┘
                              │
┌─────────────────────────────▌───────────────────────────────────────┐
│                       ToolManager (singleton)                       │
│   超时 / 并发䞊限 / 智胜重试 / 蟓入闚犁 / 调甚历史                  │
│   14 䞪内郚工具倖面看䞍见                                       │
└─────────────────────────────┬───────────────────────────────────────┘
                              │
        ┌─────────────────────┌──────────────────────┐
        │                     │                      │
        ▌                     ▌                      ▌
   6 䞪本地工具       run_agent唯䞀对倖工具     .memory / .skills
   (calculator, ...   + 内郚高级 pipeline              (持久化)
                     仅 Agent 内郚䜿甚)
                              │
                              ▌
┌─────────────────────────────────────────────────────────────────────┐
│                    ReAct Agent (src/agent/react.ts)                 │
│                                                                     │
│   LLM ←── CreateHook ── messages ──→ LLM ──→ NextHook → 响应校验    │
│    │                                                              │
│    │ tool_calls                                                    │
│    â–Œ                                                              │
│  buildToolList() = 6 本地工具 + AnySearch 4 䞪内郚工具              │
│  (AnySearch 懒加蜜銖次 run_agent 调甚时发现并猓存)                │
│                                                                     │
│   ┌─────────────────────────┐    ┌─────────────────────────┐       │
│   │   LLM 暡匏 (䌘先级)      │    │     Fallback 铟          │       │
│   │   1. MCP Sampling        │ →  │   倱莥 → 降级到䞋䞀暡匏  │       │
│   │   2. Direct HTTP         │    │                         │       │
│   │   3. Rule-based          │    │                         │       │
│   └─────────────────────────┘    └─────────────────────────┘       │
└─────────────────────────────────────────────────────────────────────┘
                              │
                              ▌
┌─────────────────────────────────────────────────────────────────────┐
│                    持久化层 (本地 JSON)                             │
│   .memory/memories.json   ── 4 类记忆 (fact/preference/task/conv)   │
│   .skills/skills.json     ── 标筟评分技胜库                         │
└─────────────────────────────────────────────────────────────────────┘

**AnySearch 懒加蜜时序**
1. 服务噚启劚 → 仅泚册 `run_agent` 到 FastMCP + 6 䞪本地工具到内郚 ToolManager
2. 客户端调甚 `run_agent` → Agent 觊发 `ensureAnySearchTools()`
3. 銖次HTTP 连接到 `api.anysearch.com/mcp` 发现工具猓存 1 小时
4. 后续呜䞭猓存陀非 TTL 过期或调甚 `resetAnySearchCache()`

四、快速䞊手

4.1 MCP 客户端配眮

stdio 暡匏最垞甚— 倍制到客户端的 MCP 配眮文件䞭

{
  "mcpServers": {
    "mini-agent-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mini-agent-mcp"],
      "env": {
        "ANYSEARCH_API_KEY": "",
        "LLM_API_KEY": "sk-your-key",
        "LLM_BASE_URL": "https://api.longcat.chat/openai/v1",
        "LLM_MODEL": "LongCat-2.0",
        "LLM_MAX_TOKENS": "4096"
      }
    }
  }
}

也可盎接䜿甚 node dist/index.js 启劚本地猖译产物见 §4.3。

SSE 暡匏可选— 通过 node dist/index.js --sse 启甚 httpStream 䌠蟓。

4.2 .env 配眮fallback

服务噚启劚时按以䞋顺序查扟 .env第䞀䞪存圚即生效

  1. process.cwd()/.env — 启劚时的工䜜目圕

  2. <dist 䞊䞀级>/.env — 即 npm install 后的项目根目圕dist/index.js 启劚场景

  3. <dist 䞊䞀级>/.env — 项目根目圕的父目圕

⚠ 通过 npx -y mini-agent-mcp 党局拉起时process.cwd() 取决于 MCP 客户端的工䜜目圕䞍䞀定等于项目根。掚荐同时圚 MCP 配眮文件的 env 块䞭星匏泚入变量见 §4.1以避免查扟路埄䞍䞀臎垊来的配眮挂移。

cp .env.example .env
# AnySearch API Key可选 — 䞍填则匿名访问有蟃䜎速率限制
ANYSEARCH_API_KEY=

# LLM 盎接调甚配眮仅 Direct HTTP 暡匏需芁
LLM_API_KEY=
LLM_BASE_URL=https://api.longcat.chat/openai/v1
LLM_MODEL=LongCat-2.0
LLM_MAX_TOKENS=4096

# 可选倚䟛应商切换见 §9.2
# LLM_PROVIDER=openai
# LLM_PROVIDERS_PATH=/abs/path/to/providers.json

# Agent 行䞺调䌘
AGENT_MAX_TURNS=5          # ReAct 掚理步数䞊限1-50
AGENT_TOOL_RETRY=1         # 工具倱莥重试次数0-3

# ToolManager 调䌘
TOOL_MAX_CONCURRENT=10     # 并发执行䞊限
TOOL_RETRY_COUNT=2         # 瞬时错误重试0-5

4.3 本地匀发

git clone https://github.com/Microbiosis/mini-agent-mcp.git
cd mini-agent-mcp
npm install
npm run build          # tsc 猖译到 dist/
node dist/index.js           # 启劚 MCP 服务噚stdio
node dist/index.js --test    # 自检暡匏调甚党郚 14 䞪工具
node dist/index.js --sse     # 启甚 HTTP Stream 䌠蟓

--test 暡匏运行完成后䌚 process.exit(0)适合做 CI 自检。

4.4 验证安装

echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}' \
  | npx mini-agent-mcp

正垞情况䞋䌚返回 14 䞪工具的 schema。


五、MCP 工具参考

5.1 唯䞀对倖工具倖郚 Agent 唯䞀可调

工具

参数

甹途

超时

run_agent

task: stringmode?: 'auto'|'rule'

把任务委掟给内眮 ReAct AgentAgent 自劚选择并调甚 14 䞪内郚工具完成。rule 区制正则暡匏无需 LLM

120s

run_agent 返回结构

Task: 计算 sqrt(15) + 8
Mode: LLM-powered (HTTP)
Steps: 2

--- Reasoning Trace ---
[Step 1]
  Thought: ...
  Action: calculator
  Observation: Expression: sqrt(15) + 8
Result: 11.872983346207417
[Step 2]
  Thought: ...
  Final Answer: 11.87

--- Final Answer ---
11.87

5.2 内郚工具仅 Agent 可见倖郚 tools/list 䞍可见

䞋面 14 䞪工具䞍通过 MCP tools/list 暎露——只胜由 run_agent 内的 ReAct 埪环自劚调甚。客户端 Agent 通过 run_agent(task) 委掟任务Agent 圚内郚根据需芁挑选并执行这些工具。

基础工具6 䞪 — 同步、确定性

内郚工具

参数

甹途

calculator

expression: string

安党数孊求倌递園䞋降解析噚无 eval()。支持 + - * / % ^、括号、凜数 sqrt abs sin cos tan asin acos atan log ln exp floor ceil round、垞量 pi e

text_stats

text: string

字笊数、词数、句数、段数、平均词长、Top 5 高频词

text_transform

text: stringoperation (9 种)pattern?: stringreplacement?: string

uppercase/lowercase/titlecase/reverse/trim/remove_duplicates/sort_lines/count_substring/replace

unit_convert

value: numberfrom: stringto: string

长床/重量/枩床/数据单䜍换算

datetime_info

operation: 'now'|'format'|'diff' + 配套参数

圓前时闎、栌匏蜬换、日期差

random_gen

operation: 'number'|'uuid'|'password'|'pick'|'shuffle' + 配套参数

随机敎数/UUID/密码/采样/掗牌

高级 pipeline3 䞪

内郚工具

甹途

run_workflow

DAG 工䜜流猖排倚䞪 Agent 任务按䟝赖执行

deep_research

䞉阶段深床研究拆解 → 检玢 → 绌合

(倍合)

倚阶段研究任务的䞲联入口

记忆工具3 䞪 — 持久化到 .memory/memories.json

内郚工具

甹途

remember

存傚䞀条记忆fact/preference/task/conversation

recall

按标筟检玢 Top 5 记忆

memory_stats

返回记忆统计

技胜工具2 䞪 — 持久化到 .skills/skills.json

内郚工具

甹途

extract_skill

提取䞀䞪可倍甚技胜

list_skills

列出所有技胜

AnySearch 工具4 䞪 — 懒加蜜

anysearch_search / anysearch_batch_search / anysearch_extract / anysearch_get_sub_domains诊见 §6

💡 讟计意囟本服务的栞心定䜍是䞺没有子智胜䜓的 Agent 应甚泚入"子智胜䜓"胜力。倖郚工具集保持极简仅 run_agent党郚内郚工具由 Agent 自治调床避免暎露过倚工具面干扰䞻 Agent 的选择。


懒加蜜AnySearch 工具䞍圚启劚时连接而是等到銖次调甚 run_agent或 deep_research时由 Agent 通过 ensureAnySearchTools() 觊发发现 + 泚册。这样

  • 服务噚冷启劚䞍受 AnySearch 眑络圱响

  • 䞍䜿甚 Agent 功胜的客户端完党跳过 AnySearch

  • 工具列衚猓存 1 小时可甚 ANYSEARCH_CACHE_TTL_MS 芆盖

发现后䌚泚册到内郚 ToolManager 的工具

内郚名称

功胜

anysearch_search

通甚搜玢支持金融、孊术、法埋等垂盎领域

anysearch_batch_search

1-5 䞪独立查询的并行搜玢

anysearch_extract

URL 眑页内容提取最倚 50,000 字笊 Markdown

anysearch_get_sub_domains

查询垂盎领域目圕

⚠ 这些工具仅泚册到内郚 ToolManager䟛 ReAct Agent 圚掚理埪环䞭自䞻调甚䞍 通过 MCP tools/list 暎露给倖郚客户端——MCP tools/list 始终只返回 1 䞪工具run_agent。

匿名可甚䞍讟 ANYSEARCH_API_KEY 也胜连接只是有蟃䜎的速率限制高级䜿甚场景可填 Key 提升配额。

猓存策略

  • 默讀 TTL1 小时环境变量 ANYSEARCH_CACHE_TTL_MS讟䞺 0 每次过期郜重发现

  • 瞬时倱莥时保留旧猓存serving stale cache—— 可甚工具䌘先于无工具

  • 手劚刷新调甚 resetAnySearchCache()来自 mini-agent-mcp/agent 或内郚 API

容错MCPRuntime 状态机idle → connecting → connected → degraded/error/disabled自劚倄理瞬时错误重试和硬错误401/403/DNS → 犁甚AnySearch 䞍可蟟䞍䌚阻塞 Agent 启劚。


䞃、LLM 䞉暡匏 + Fallback

run_agent 启劚时按䌘先级选择 LLM 调甚方匏倱莥时自劚降级

┌─────────────────────────────────────────────────────────┐
│  runAgent(task)                                         │
│    ↓                                                    │
│  getLLMMode()                                           │
│    ├─► "sampling" (MCP 客户端支持时)                      │
│    │     ├─ 成功 → 返回                                  │
│    │     └─ 倱莥 → 检查 Direct HTTP 配眮                 │
│    ├─► "http" (讟眮了 LLM_API_KEY + BASE_URL + MODEL)    │
│    │     ├─ 成功 → 返回                                  │
│    │     └─ 倱莥 → Fallback                              │
│    └─► "none" (Rule-based 兜底)                          │
│          └─ 氞远可执行                                   │
└─────────────────────────────────────────────────────────┘

暡匏

觊发条件

䌘点

限制

MCP Sampling

MCP 客户端泚册了 sampling capability

零配眮、客户端 LLM

䟝赖客户端支持

Direct HTTP

讟眮了 LLM_API_KEY + LLM_BASE_URL + LLM_MODEL

䞎客户端解耊、可托管

需芁 API Key

Rule-based

䞊述郜倱莥 / 星匏 mode='rule'

无 LLM 也胜跑

仅限 §5.1 基础工具胜盎接芆盖的任务数孊、单䜍换、时闎、密码、UUID、文本统计、日期差

关键 API

  • getLLMMode(): 'sampling' | 'http' | 'none' — 检查圓前可甚暡匏

  • getLLMConfig() — 返回 Direct HTTP 配眮劂有


八、Hooks 系统Yao 暡匏

src/agent/react.ts 暎露䞀䞪 Hook 点可圚䞍修改 Agent 内栞的前提䞋泚入自定义行䞺

import { addCreateHook, addNextHook, clearHooks } from "mini-agent-mcp";

addCreateHook(async (ctx, messages) => {
  // LLM 调甚前可泚入 / 修改 / 取消消息
  // ctx: { task, step, maxSteps }
  // 返回 null → 取消本次 LLM 调甚
  // 返回 messages 数组 → 替换䞺新消息
  if (ctx.step === 0) {
    messages.push({ role: "user", content: "[System] 请䜿甚䞭文回答。" });
  }
  return messages;
});

addNextHook(async (ctx, response) => {
  // LLM 响应后可校验 / 拊截
  // 返回 "stop" → 立即终止 Agent
  // 返回 "continue" 或 null → 正垞继续
  if (response.content?.includes("ERROR")) return "stop";
  return null;
});

// 枅空所有 Hook
clearHooks();

兞型甚途

  • 泚入系统级提瀺词 / 安党纊束

  • 添加审计日志、调甚统计

  • 限制工具调甚范囎前眮闚犁

  • 圚响应出现危险暡匏时玧急停止


九、持久化层

9.1 Memory.memory/memories.json

interface Memory {
  id: string;               // mem_<timestamp>_<rand>
  type: "fact" | "preference" | "task" | "conversation";
  content: string;
  tags: string[];           // 甚于检玢
  timestamp: number;        // 创建时闎epoch ms
  accessCount: number;      // recall 时递增圱响排序
}

检玢算法

  1. 标筟完党匹配 → 盎接召回

  2. 按 accessCount + recency 排序

  3. 默讀返回 Top 5recall(tags, limit=5)

9.2 Skill.skills/skills.json

interface Skill {
  id: string;                  // skill_<timestamp>
  name: string;
  description: string;
  exampleTask: string;
  steps: string[];             // 步骀描述泚入到消息历史
  tags: string[];              // 匹配关键词
  useCount: number;            // 环计被自劚应甚次数
  createdAt: number;           // 銖次创建时闎氞䞍曎新
  lastUsedAt?: number;         // 最近䞀次被 matchSkill 匹配并 useSkill() 的时闎
  lastUpdatedAt?: number;      // 最近䞀次 extractSkill() 芆盖内容的时闎
}

匹配评分matchSkill(task)

  • 每䞪匹配 tag+10

  • 每䞪 step 前 20 字笊出现圚 task 䞭+5

  • 仅返回 score > 0 的最䜳匹配

自劚应甚每次 runAgent 启劚前郜䌚调甚 matchSkill()若呜䞭则把步骀䜜䞺 hint 泚入 LLM 消息并 useSkill() 增加计数 — 这就是"自我孊习"的机制。


十、DAG 工䜜流

run_workflow 接受䞀䞪 JSON 数组按有向无环囟执行

[
  {"id": "fetch", "label": "抓取",  "task": "甹 search 工具查询 MCP 协议", "timeout": 60},
  {"id": "sum1",  "label": "摘芁1", "task": "把䞊面的内容翻译成䞭文", "dependsOn": ["fetch"], "timeout": 30},
  {"id": "sum2",  "label": "摘芁2", "task": "提取 3 䞪关键点",          "dependsOn": ["fetch"], "timeout": 30},
  {"id": "final", "label": "汇总",  "task": "合并䞀䞪摘芁䞺最终报告",    "dependsOn": ["sum1", "sum2"]}
]

执行特性

  • 并行执行无䟝赖关系或䟝赖已完成的的步骀䌚同时启劚Promise.all

  • 䟝赖泚入buildStepTask() 把䞊枞步骀的 result.answer 拌到䞋枞任务末尟

  • 环检测DFS 检测埪环䟝赖抛出明确错误

  • 死锁倄理若没有 ready 步骀䜆未党郚完成剩䜙的标记䞺 blocked

  • 超时每步独立超时秒默讀 60

返回结构

{
  success: boolean,
  totalDurationMs: number,
  steps: [{ id, label, result, error?, durationMs }]
}

十䞀、深床研究deep_research

䞉阶段管线5 分钟超时

┌───────────────┐      ┌───────────────┐      ┌───────────────┐
│   1. 拆解      │ ──►  │   2. 检玢      │ ──►  │   3. 绌合      │
│               │      │               │      │               │
│ LLM 把问题    │      │ 每䞪子问题    │      │ LLM 收到所有  │
│ 拆成 3-5 䞪   │      │ 觊发 run_agent│      │ findings +    │
│ 子问题        │      │ 自劚调 search │      │ 原问题生成  │
│ (fenced code) │      │ 收集 findings │      │ Markdown 报告 │
└───────────────┘      └───────────────┘      └───────────────┘

parseSubQuestions() 容错

  • 䌘先解析 fenced code block``` ... ```

  • 降级到行扫描只接受 "- " 匀倎䞔 ≥12 字笊的行

  • 默讀最倚 5 䞪子问题

  • 解析倱莥 → fallback 䞺单问题 [原问题]

返回结构包含 subQuestions、totalSteps、durationMs 和完敎的 Markdown 报告执行摘芁 + 关键发现 + 结论。


十二、配眮参考

12.1 党郚环境变量

变量

必需

默讀

甹途

LLM_API_KEY

视暡匏

—

Direct HTTP 暡匏的 API Key裞 Key䞍垊 Bearer

LLM_BASE_URL

视暡匏

—

OpenAI 兌容端点需含 /v1

LLM_MODEL

视暡匏

—

暡型名

LLM_MAX_TOKENS

吊

4096

单次生成䞊限

LLM_PROVIDER

吊

default

从 providers.json 选呜名䟛应商

LLM_PROVIDERS_PATH

吊

—

呜名䟛应商配眮文件路埄

AGENT_MAX_TURNS

吊

5

ReAct 掚理步数䞊限1-50

AGENT_TOOL_RETRY

吊

1

工具倱莥重试0-3

TOOL_MAX_CONCURRENT

吊

10

ToolManager 并发䞊限

TOOL_RETRY_COUNT

吊

2

瞬时错误重试0-5

ANYSEARCH_API_KEY

吊

匿名

AnySearch 提升配额

ANYSEARCH_CACHE_TTL_MS

吊

3600000

AnySearch 工具发现猓存 TTL毫秒0 = 每次过期郜重发现

12.2 倚䟛应商配眮providers.json

{
  "openai": {
    "apiKey": "sk-...",
    "baseUrl": "https://api.openai.com/v1",
    "model": "gpt-4o-mini"
  },
  "deepseek": {
    "apiKey": "sk-...",
    "baseUrl": "https://api.deepseek.com/v1",
    "model": "deepseek-chat"
  }
}

启劚时讟眮 LLM_PROVIDERS_PATH=/path/to/providers.json + LLM_PROVIDER=openai。

⚠ 安党提瀺providers.json 含明文 API Key请务必

  • 加入 .gitignore䞍芁提亀到仓库

  • 文件权限讟䞺 chmod 600Linux/macOS

  • 圚 CI/CD 䞭通过密钥管理服务泚入避免硬猖码

  • 掚荐䌘先䜿甚 .env + 环境变量方匏§4.2倚䟛应商配眮仅圚需芁运行时切换暡型时䜿甚

12.3 内眮䟛应商参考

䟛应商

LLM_BASE_URL

LLM_MODEL 瀺䟋

LongCat

https://api.longcat.chat/openai/v1

LongCat-2.0

OpenAI

https://api.openai.com/v1

gpt-4o-mini

DeepSeek

https://api.deepseek.com/v1

deepseek-chat

Moonshot (Kimi)

https://api.moonshot.cn/v1

moonshot-v1-8k

SenseNova

https://token.sensenova.cn/v1

sensenova-6.7-flash-lite

Ollama (本地)

http://localhost:11434/v1

llama3.2


十䞉、项目结构

mini-agent-mcp/
├── LICENSE                           # Apache-2.0
├── README.md                         # 本文件
├── .env.example                      # 环境变量暡板
├── package.json
├── tsconfig.json
├── server.json                       # MCP Registry 元数据
├── assets/icon.png                   # 商店囟标
├── scripts/                          # 14 䞪独立测试脚本
│   ├── test-tools-list.mjs           # 通过 JSON-RPC 探测 tools/list
│   ├── test-agent.mjs                # ReAct (rule + LLM) 双暡匏
│   ├── test-workflow.mjs             # DAG + deep_research
│   ├── test-deep-research*.mjs       # 深床研究变䜓
│   ├── test-memory-skill.mjs         # 持久化层 CRUD
│   ├── test-anysearch*.mjs           # AnySearch 集成
│   ├── test-dag-buildStepTask.mjs    # 纯凜数单元测试
│   ├── test-research-parser.mjs      # 解析噚单元测试
│   └── ...                           # 集成 / 回園脚本
├── src/
│   ├── index.ts                      # FastMCP 入口 + 工具泚册
│   ├── agent/
│   │   ├── react.ts                  # ReAct 掚理埪环 + Hooks
│   │   ├── llm.ts                    # OpenAI SDK + Sampling
│   │   └── index.ts                  # run_agent / getLLMMode 等公共 API 重富出
│   ├── tools/
│   │   ├── manager.ts                # ToolManager (超时/并发/重试)
│   │   ├── registry.ts               # 工具泚册䞭心 (本地 + AnySearch 统䞀入口)
│   │   ├── index.ts                  # 6 䞪内眮工具的富出桶
│   │   ├── types.ts                  # ToolDefinition / ToolResult
│   │   ├── calculator.ts             # 安党数孊解析噚
│   │   ├── text.ts                   # text_stats + text_transform
│   │   ├── converter.ts              # 单䜍换算
│   │   ├── datetime.ts               # 日期时闎
│   │   ├── random.ts                 # 随机生成
│   │   ├── anysearch.ts              # AnySearch 工具包装
│   │   └── anysearch-client.ts       # MCPRuntime 状态机
│   ├── workflow/
│   │   ├── dag.ts                    # DAG 工䜜流猖排
│   │   └── research.ts               # 深床研究䞉阶段管线
│   ├── memory/index.ts               # 持久化记忆
│   └── skill/index.ts                # 技胜提取䞎匹配
└── dist/                             # 猖译产物

十四、安党䞎讟计理念

安党纊束

  • 所有 API Key 仅通过环境变量䌠递氞䞍入代码

  • ToolManager 内眮蟓入长床闚犁默讀 10,000 字笊calculator 500 字笊

  • 错误分类hard (401/403/DNS/refused) 盎接倱莥transient (timeout/429/5xx) 自劚重试 + 指数退避最倚 8s

  • 计算噚䜿甚自研递園䞋降解析噚䞍䜿甚 eval()

讟计原则

  • 协议䌘先䞥栌遵守 MCP JSON-RPC over stdio/SSE

  • 分层解耊ToolManager 统䞀抜象工具实现可插拔

  • 级联容错LLM / 眑络 / 工具层均有倚级 fallback

  • 本地䌘先记忆 / 技胜持久化到本地 JSON无需倖郚数据库

  • 零配眮可启劚最小可甚配眮䞺 0默讀走 Sampling 或 Rule-based

  • 可观测性Hooks§八提䟛 LLM 调甚前后拊截点可泚入审计日志 / 调甚统计 / 安党告譊ToolManager 内眮调甚历史䟿于回攟䞎调试


十五、讞可证

Apache License 2.0 © 2026 Microbiosis


十六、盞关铟接

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Microbiosis/mini-agent-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server