AI Skill Hub 推荐使用:Agentic AI 服务器 是一款优质的MCP工具。AI 综合评分 7.5 分,在同类工具中表现稳健。如果你正在寻找可靠的MCP工具解决方案,这是一个值得深入了解的选择。
Agentic AI 服务器 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
Agentic AI 服务器 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/dirmacs/ares
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"agentic-ai----": {
"command": "npx",
"args": ["-y", "ares"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 Agentic AI 服务器 执行以下任务... Claude: [自动调用 Agentic AI 服务器 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"agentic_ai____": {
"command": "npx",
"args": ["-y", "ares"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
<p align="center"> <img src="docs/img/ares-logo.svg" width="400" alt="A.R.E.S — Agentic Runtime Extensible Server"> </p>
<p align="center"> Agentic Runtime Extensible Server. Rust. A composable AI agent runtime built on the Cordis framework.<br> ARES is a harness. ARES builds harnesses. Run standalone or embed the library. </p>
<p align="center"> <a href="docs/assets/cli-demo.cast"><img src="docs/assets/cli-demo.svg" width="820" alt="ARES × Cordis demo: the live service graph, zero-downtime provider replacement, guarded operations, and fail-closed policy gates"></a> </p>
<p align="center"> <a href="https://github.com/dirmacs/ares"><img src="https://img.shields.io/github/stars/dirmacs/ares?style=flat" alt="GitHub"></a> <a href="https://dirmacs.github.io/ares"><img src="https://img.shields.io/badge/docs-mdbook-blue" alt="docs"></a> <img src="https://img.shields.io/badge/license-MIT-yellow.svg" alt="MIT"> </p>
---
A.R.E.S (Agentic Runtime Extensible Server) is a composable AI agent runtime in Rust, built on the Cordis framework. Features include multi-provider LLM routing, structured tool calling, RAG, MCP integration, multi-tenant auth, and workflow orchestration. You embed the library facade of the ares-server package (Context, Execute, Tools, Llm). The ares-server binary serves the Axum HTTP layer.
Built by DIRMACS. Documentation
ctx.plugin() or ctx.provide(). Handlers pull dependencies with ctx.get::<T>() on a typed Context. Fiber::refresh recomputes the dependency epoch and reruns plugin apply.Execute handles resolve, create, and execute for chat, v1 API, JWT chat, MCP, scheduler, pipeline, and trigger. Scheduler, pipeline, and trigger domain loops remain native ARES engines behind Execute.Context::inject waits on the ReflectService TypeId notifier (ensure_notifier + changed). A 5ms poll runs only when the notifier is unavailable. Skills carry the request Context, isolate tools with ctx.isolate::<Tools>(tenant_id), and call Tools::execute on that tenant isolate. Skill LlmCall steps strictly use Llm::complete through llm.complete, with no direct provider generate_with_history fallback. Tools, Llm, Execute, and skills stay event-first on EventsService waterfalls.agent.admit (Dispatch::Bail) is the shared gate for Execute, JWT chat, API-key middleware, and MCP.ares.toml. TOON changes notify Tools and Execute. TenantRealms open-then-intercept on request paths and dispose on tenant delete.Fiber::refresh reruns plugin apply.ARES uses Cargo features for optional compile-time components:
| Feature | Includes |
|---|---|
all-db | postgres |
full | postgres, qdrant, ares-vector, mcp, swagger-ui |
full-ui | All optional features + UI (except local-embeddings) |
full-local-embeddings | Full + local-embeddings (Linux/macOS only) |
full-ui-local-embeddings | Full + UI + local-embeddings (Linux/macOS only) |
minimal | No optional features |
Note: Thefullandfull-uibundles excludelocal-embeddingsbecause of Windows MSVC compatibility issues. On Linux and macOS usefull-local-embeddingsorfull-ui-local-embeddings.
cargo build --features "full"
cargo build --features "full-ui"
[providers.ollama-local] type = "ollama" base_url = "http://localhost:11434" default_model = "ministral-3:3b"
[providers.openai] # Optional. Runtime type openai. No Cargo feature. type = "openai" api_key_env = "OPENAI_API_KEY" default_model = "gpt-4"
use std::sync::Arc;
use ares_server::Context;
use ares_http::Http;
let ctx: Arc<Context> = /* your configured context with Http provided */;
// Http::apply builds the Axum router; the ares-server binary binds it.
Fiber::refresh recomputes the dependency epoch. It reruns plugin apply when the epoch changed or when the fiber is not already Active with satisfied dependencies. Dispose still undoes effects in LIFO order.
EventsService dispatch modes: Emit returns JSON null. Parallel joins every handler and returns JSON null on success. Handler values are discarded, and the first join or handler error propagates. Serial (same path as Bail) stops at the first non-null handler result. Waterfall is around-middleware with next.
Tools, Llm, Execute, and skills remain event-first. Public methods run through waterfall_around when EventsService is on ctx.
agent.admit is the shared quota gate for Execute::run, JWT /api/chat, API-key middleware, and MCP. Deny maps to HTTP 429 or an MCP tool error.
git checkout -b feature/my-feature
export JWT_SECRET="your-secret-key-at-least-32-characters" export API_KEY="your-api-key" ```
just setup
Run ARES as a standalone server. You can also embed it as a library in a Rust project.
cargo install ares-server --locked
cargo install ares-server --locked --features ui
ollama pull ministral-3:3b
```bash
cargo build
```bash
cargo build --release
```
Admin endpoints require the X-Admin-Secret header.
curl -X POST http://localhost:3000/api/admin/deploy \
-H "X-Admin-Secret: $ADMIN_SECRET" \
-H "Content-Type: application/json" \
-d '{"target": "ares"}'
Response:
{"id": "deploy-abc123", "status": "running", "message": "Deploy started"}
curl http://localhost:3000/api/admin/deploy/deploy-abc123 \
-H "X-Admin-Secret: $ADMIN_SECRET"
curl http://localhost:3000/api/admin/deploys \
-H "X-Admin-Secret: $ADMIN_SECRET"
curl http://localhost:3000/api/admin/services \
-H "X-Admin-Secret: $ADMIN_SECRET"
Response:
{
"ares": {"status": "active", "pid": "12345", "port": 3000},
"postgresql": {"status": "active", "pid": "456", "port": 5432}
}
curl http://localhost:3000/api/admin/services/ares/logs \
-H "X-Admin-Secret: $ADMIN_SECRET"
brew install hurl # macOS
just build # Build (debug) just build-release # Build (release) just build-ui # Build with embedded UI just run # Run server just run-ui # Run with embedded UI just run-debug # Run with debug logging
just docker-up # Start dev services just docker-down # Stop services just docker-logs # View logs
just docker-services ```
```bash
curl -fsSL https://bun.sh/install | bash
brew install node # macOS
```bash
cargo install trunk --locked ```
```bash
```bash
cp ares.example.toml ares.toml
```bash
ares-server init
ares-server init
ares-server init --provider openai --port 8080 --host 0.0.0.0
ares-server init --minimal
ares-server config
ares-server config --validate
ares-server agent list
ares-server --config custom.toml
| Option | Description |
|---|---|
--force, -f | Overwrite existing files |
--minimal, -m | Create minimal configuration |
--no-examples | Skip creating TOON example files |
--provider <NAME> | LLM provider: ollama, openai, or both |
--host <ADDR> | Server host address (default: 127.0.0.1) |
--port <PORT> | Server port (default: 3000) |
```bash git clone https://github.com/dirmacs/ares.git cd ares cp .env.example .env
just setup ```
cargo build --features llamacpp
cargo build --features llamacpp-cuda
ARES reads a TOML configuration file (ares.toml) with declarative configuration for all components. The server requires this file at startup.
The configuration file defines providers, models, agents, tools, and workflows:
```toml
[server] host = "127.0.0.1" port = 3000 log_level = "info"
[auth] jwt_secret_env = "JWT_SECRET" api_key_env = "API_KEY"
The server validates the configuration on load:
The validate_with_warnings() method reports unused configuration items (providers, models, and tools with no references).
These environment variables must be set because ares.toml references them:
```bash
OPENAI_API_KEY=sk-... ```
ARES also supports TOON (Token Oriented Object Notation) files for behavioral configuration with hot-reload support. These files complement ares.toml.
config/
agents/
router.toon
orchestrator.toon
product.toon
models/
fast.toon
balanced.toon
tools/
calculator.toon
workflows/
default.toon
mcps/
filesystem.toon
Example TOON agent config (config/agents/router.toon):
name: router
model: fast
max_tool_iterations: 5
parallel_tools: false
tools[0]:
system_prompt: |
You are a router agent that directs requests to specialized agents.
Enable TOON configuration in ares.toml:
[config]
agents_dir = "config/agents"
models_dir = "config/models"
tools_dir = "config/tools"
workflows_dir = "config/workflows"
mcps_dir = "config/mcps"
hot_reload = true
The server hot-reloads TOON files automatically after a change.
| Option | Default | Description |
|---|---|---|
max_iterations | 10 | Maximum LLM round-trips before stopping |
parallel_execution | true | Runs multiple tool calls in parallel |
tool_timeout | 30s | Timeout for individual tool execution |
include_tool_results | true | Include tool results in final context |
stop_on_error | false | Stop on first tool error vs continue |
OLLAMA_LIVE_TESTS=1 cargo test --test ollama_live_tests -- --ignored
```bash
```bash
cp .env.example .env
```
The CLI prints colored output for every command:
```bash
cargo build --features "swagger-ui"
[models.fast] provider = "ollama-local" model = "ministral-3:3b" temperature = 0.7 max_tokens = 256
[models.balanced] provider = "ollama-local" model = "ministral-3:3b" temperature = 0.7 max_tokens = 512
[models.smart] provider = "ollama-local" model = "qwen3-vl:2b" temperature = 0.3 max_tokens = 1024
[agents.router] model = "fast" system_prompt = "You route requests to specialized agents..."
[agents.product] model = "balanced" tools = ["calculator"] # Tool filtering: only calculator system_prompt = "You are a Product Agent..."
[agents.research] model = "smart" tools = ["web_search", "calculator"] # Multiple tools system_prompt = "You conduct research..."
Users can create custom agents in the database. Import and export use the TOON format:
```bash
The interactive Swagger UI is available at http://localhost:3000/swagger-ui/
Note: The build must enable theswagger-uifeature:> cargo build --features "swagger-ui" > # Or use the full bundle: > cargo build --features "full" >
End-to-end API tests use Hurl:
```bash
just hurl
just init # Initialize project (ares-server init) just init-openai # Initialize with OpenAI provider just config # Show configuration summary just agents # List all agents just agent <name> # Show agent details
[workflows.default] entry_agent = "router" fallback_agent = "product" max_depth = 5
[workflows.research_flow] entry_agent = "research" max_depth = 10 ```
Workflows give multi-agent orchestration. Define workflows in ares.toml:
[workflows.default]
entry_agent = "router" # Starting agent
fallback_agent = "orchestrator" # Used if routing fails
max_depth = 5 # Maximum agent chain depth
max_iterations = 10 # Maximum total iterations
curl http://localhost:3000/api/workflows \
-H "Authorization: Bearer <access_token>"
Response:
["default", "research"]
curl -X POST http://localhost:3000/api/workflows/default \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"query": "What are our Q4 product sales figures?"
}'
Response:
{
"final_response": "Based on the Q4 data, our product sales were...",
"steps_executed": 3,
"agents_used": ["router", "sales", "product"],
"reasoning_path": [
{
"agent_name": "router",
"input": "What are our Q4 product sales figures?",
"output": "sales",
"timestamp": 1702500000,
"duration_ms": 150
},
{
"agent_name": "sales",
"input": "What are our Q4 product sales figures?",
"output": "For Q4 sales data, I'll need to check...",
"timestamp": 1702500001,
"duration_ms": 800
},
{
"agent_name": "product",
"input": "What are our Q4 product sales figures?",
"output": "Based on the Q4 data, our product sales were...",
"timestamp": 1702500002,
"duration_ms": 650
}
]
}
curl -X POST http://localhost:3000/api/workflows/default \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"query": "What are the sales figures?",
"context": {
"department": "electronics",
"quarter": "Q4"
}
}'
```bash
A.R.E.S (Agentic Retrieval Enhanced Server) 是一个基于 Rust 开发的高性能智能检索增强服务器。它集成了多供应商 LLM 支持、Tool calling 与 RAG 能力,并原生支持 MCP 协议。开发者可以通过 ContextProvider trait 进行高度扩展,既可以将其作为独立的 Standalone Server 运行,也可以作为 Library 嵌入到现有的 Rust 项目中。
A.R.E.S 提供强大的多模型支持,兼容 Ollama、OpenAI、Anthropic Claude 及 LlamaCpp(支持直接加载 GGUF)。系统采用 TOML 声明式配置并支持热重载,允许通过 [TOON] 格式定义自定义 Agent、工具与 Prompt。其内置的 Workflow engine 支持声明式执行与 Agent 路由,并提供类型安全的 Tool calling 功能,可自动生成 Schema。
运行 A.R.E.S 需要安装 Rust 1.91+ 版本(建议通过 rustup 安装)。为了实现本地 LLM 推理,推荐安装 Ollama;为了方便执行命令,建议安装 just。此外,开发者需要配置必要的环境变量,例如用于安全校验的 JWT_SECRET 以及访问 API 所需的 API_KEY。
您可以根据需求选择不同的安装方式:若需基础功能,可通过 cargo install ares-server 从 crates.io 直接安装;若需要集成 Web UI 界面,请使用 cargo install ares-server --features ui 进行安装。此外,由于项目支持 Cargo features,您可以通过不同的 Feature Flags(如 all-llm, full 等)来定制编译包含特定组件的二进制文件。
在开发环境下快速启动非常简单:首先通过 cp 命令将示例配置文件 ares.example.toml 复制并重命名为 ares.toml,然后即可开始开发。项目提供了完善的 CLI 工具,支持通过命令行进行初始化与管理,确保开发流��的顺畅。
项目通过 ares.toml 进行声明式配置管理。AresConfigManager 支持线程安全的配置热重载,无需重启即可生效。您可以定义不同的 models 节点来配置不同 provider 的参数(如 temperature, max_tokens 等)。对于复杂的 Agent 逻辑,可以通过配置 ProviderRegistry 和 AgentRegistry 来实现对不同模型与工具的精准调度。
A.R.E.S 提供功能完备的 CLI 命令行工具,并支持通过编译 swagger-ui feature 来生成交互式的 API 文档。开发者可以通过命令行进行模型参数设置与管理,确保 API 调用过程中的透明度与可控性。
Workflows 是 A.R.E.S 实现多 Agent 编排的核心。您可以在 ares.toml 中定义工作流逻辑,指定 entry_agent(入口 Agent)与 fallback_agent(回退 Agent),并设置 max_depth(最大链深度)与 max_iterations(最大迭代次数)。通过这种方式,可以构建复杂的 Agent 路由与协作任务流。
如果在运行过程中遇到问题,可以参考项目提供的 Troubleshooting 指南。常见的排查点包括环境变量配置是否正确、LLM Provider 的连接状态以及 Cargo features 是否按需开启。
一个高质量的开源MCP工具,支持多提供商LLM路由和工具调用
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
总体来看,Agentic AI 服务器 是一款质量良好的MCP工具,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | ares |
| 原始描述 | 开源MCP工具:Agentic AI server in Rust. Multi-provider LLM routing, tool calling, RAG, MCP, m。⭐11 · Rust |
| Topics | agenticaichatbotrust |
| GitHub | https://github.com/dirmacs/ares |
| License | MIT |
| 语言 | Rust |
收录时间:2026-06-01 · 更新时间:2026-06-01 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端