Token导航 LogoToken导航

MCP Server · 搜索检索

Arca MCP

Arca MCP是一个提供语义记忆存储和检索的服务,通过向量嵌入实现自然语言查询,支持多租户隔离和逻辑存储桶组织,适用于AI代理和程序集成。

stdio官方级别未说明来源级核验工具 8
搜索多租户PythonClaude记忆存储

快速开始

作者 / 组织
m0nochr0me
提供方
m0nochr0me
运行时
Python

工具数量

8

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

2 个

MCP World

选型结论

Arca MCP 属于搜索检索类 MCP Server,公开资料标注 8 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

搜索检索

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

python -m app

客户端配置示例

{
  "mcpServers": {
    "arca-mcp": {
      "command": "python",
      "args": [
        "-m",
        "app"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 8 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MCP 方舟

一种模型上下文协议(MCP)服务器,通过向量嵌入提供语义记忆存储和检索。使用FastAPI+FastMCP构建,使用LanceDB进行矢量存储,使用Google Gemini进行嵌入生成。

特性

  • 语义搜索 --使用由向量相似性搜索支持的自然语言查询来存储和检索记忆
  • 双重访问 -用于AI代理的MCP工具+用于编程集成的REST API
  • 多租户隔离 --命名空间范围的操作通过 X-Namespace HTTP标头
  • Bucket组织 --将内存分组到逻辑桶中进行结构化存储
  • 嵌入缓存 -用于生成嵌入的Redis-supported缓存,以最大限度地减少API调用
  • 承载令牌认证 --用于安全访问的恒定时间令牌验证

先决条件

  • Python 3.14+
  • 紫外线 包管理器
  • 瑞迪斯
  • Google API密钥(用于Gemini嵌入)

快速开始

# Clone the repository
git clone https://github.com/your-org/arca-mcp.git
cd arca-mcp

# Install dependencies
uv sync --locked

# Configure environment
cp .env.example .env
# Edit .env with your ARCA_GOOGLE_API_KEY and ARCA_APP_AUTH_KEY

# Run the server
python -m app

服务器启动于 http://0.0.0.0:4201 默认情况下,MCP可在 /app/mcp 和REST API /v1.

配置

所有设置都是通过环境变量配置的 ARCA_ 前缀,或通过 .env 文件。

|变量|类型|默认值|描述| | - | - | - | - | | ARCA_APP_HOST | str | 0.0.0.0 |服务器绑定地址| | ARCA_APP_PORT | int | 4201 |服务器端口| | ARCA_APP_WORKERS | int | 1 |Uvicorn工人人数| | ARCA_APP_AUTH_KEY | str | 必需的 |MCP身份验证的承载令牌| | ARCA_TRANSPORT | str | streamable-http |MCP传输(stdio, http, sse, streamable-http) | | ARCA_DEBUG | bool | false |启用调试模式| | ARCA_LOG_MESSAGE_MAX_LEN | int | 2000 |最大日志消息长度| | ARCA_GOOGLE_API_KEY | str | 必需的 |Gemini嵌入的Google API密钥| | ARCA_EMBEDDING_MODEL | str | gemini-embedding-001 |Gemini嵌入模型名称| | ARCA_EMBEDDING_DIMENSION | int | 3072 |嵌入向量维度| | ARCA_VECTOR_STORE_PATH | str | ./lancedb |LanceDB存储目录| | ARCA_REDIS_HOST | str | localhost |Redis主机| | ARCA_REDIS_PORT | int | 6379 |Redis端口| | ARCA_REDIS_DB_CACHE | int | 4 |缓存的Redis数据库编号| | ARCA_REDIS_PASSWORD | str | null |Redis密码(可选)| | ARCA_CACHE_TTL | int | 3600 |默认缓存TTL(秒)(1小时)| | ARCA_CACHE_TTL_LONG | int | 604800 |以秒为单位的长缓存TTL(7天,用于嵌入)|

MCP工具

所有工具都安装在 memory 命名空间。操作的作用域为通过提供的命名空间 X-namespace HTTP标头(默认为 "default").

memory/add

使用向量嵌入将内容存储在内存中。

|参数|类型|必填|说明| | - | - | - | - | | content | str |是|要存储的内容| | bucket | str \| null |no |存储桶名称(默认为 "default") | | connected_nodes | list[str] \| null |创建时没有要链接的节点的UUID| | relationship_types | list[str] \| null |否|并行关系标签 connected_nodes |

退货: { "status": "Memory added", "memory_id": "" }

memory/get

通过语义相似性搜索检索记忆。

|参数|类型|必填|说明| | - | - | - | - | | query | str |是|自然语言搜索查询| | bucket | str \| null |否|按桶过滤| | top_k | int |no |结果数(默认值: 5) |

退货: { "status": "Memory retrieved", "results": [...] }

memory/delete

按UUID删除特定内存。

|参数|类型|必填|说明| | - | - | - | - | | memory_id | str |yes |要删除的内存的UUID|

退货: { "status": "Memory deleted" }

memory/clear

清空桶里的所有记忆。

|参数|类型|必填|说明| | - | - | - | - | | bucket | str \| null |no |要清除的Bucket(默认为 "default") |

退货: { "status": "Memories cleared" }

memory/list_buckets

列出当前命名空间中的所有bucket。

参数: 无

退货: { "buckets": ["default", "work", ...] }

memory/connect

在两个内存节点之间创建有向边。

|参数|类型|必填|说明| | - | - | - | - | | source_id | str |yes |源节点的UUID| | target_id | str |yes |目标节点的UUID| | relationship_type | str |是|边缘标签(例如。 "related_to", "depends_on") |

退货: { "status": "Memories connected" }

memory/disconnect

删除两个节点之间的一条或所有有向边。

|参数|类型|必填|说明| | - | - | - | - | | source_id | str |yes |源节点的UUID| | target_id | str |yes |目标节点的UUID| | relationship_type | str \| null |否|如果提供,仅删除此边缘标签;否则,移除所有边缘|

退货: { "status": "Memories disconnected" }

memory/traverse

从节点开始遍历知识图。

|参数|类型|必填|说明| | - | - | - | - | | memory_id | str |yes |起始节点的UUID| | relationship_type | str \| null |no |筛选此边标签的遍历| | depth | int |no |跳数(默认值: 1) |

退货: { "status": "Graph traversed", "results": [...] } --每个结果包括 _depth 现场。

REST API

所有REST端点都位于 /v1,要求a Authorization: Bearer header,并接受可选 X-Namespace 标题(默认为 "default").

交互式API文档可在 /docs 当服务器正在运行时。

|方法|路径|描述| | - | - | - | | POST | /v1/memories |添加内存| | POST | /v1/memories/search |语义相似度搜索| | DELETE | /v1/memories/{memory_id} |删除特定内存| | DELETE | /v1/memories?bucket=... |桶里的清晰记忆| | GET | /v1/buckets |列出所有桶| | POST | /v1/memories/connect |在两个节点之间创建有向边| | POST | /v1/memories/disconnect |删除两个节点之间的边| | GET | /v1/memories/{memory_id}/connected |从节点遍历知识图|

例子

所有示例都假设服务器运行在 localhost:4201.更换 $TOKEN 与你的 ARCA_APP_AUTH_KEY.

添加内存
curl -X POST http://localhost:4201/v1/memories \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Namespace: my_project" \
  -H "Content-Type: application/json" \
  -d '{"content": "User prefers dark mode", "bucket": "preferences"}'
{
  "status": "Memory added",
  "memory_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
搜索记忆
curl -X POST http://localhost:4201/v1/memories/search \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Namespace: my_project" \
  -H "Content-Type: application/json" \
  -d '{"query": "what theme does the user like?", "top_k": 3}'
{
  "status": "Memory retrieved",
  "results": [
    {
      "memory_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "content": "User prefers dark mode",
      "bucket": "preferences"
    }
  ]
}
删除内存
curl -X DELETE http://localhost:4201/v1/memories/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Namespace: my_project"
{
  "status": "Memory deleted"
}
清空一个桶
curl -X DELETE "http://localhost:4201/v1/memories?bucket=preferences" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Namespace: my_project"
{
  "status": "Memories cleared"
}
列出桶
curl http://localhost:4201/v1/buckets \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Namespace: my_project"
{
  "buckets": ["default", "preferences", "work"]
}

其他终点

|方法|路径|描述| | - | - | - | | GET | / |指数——回报 { "message": "OK" } | | GET | /health |健康检查——返回状态、版本、正常运行时间、执行ID| | GET | /docs |交互式OpenAPI文档| | * | /app/mcp |MCP可流式传输http端点|

码头工人

# Build
docker build -t arca-mcp .

# Run
docker run -p 4201:4201 \
  -e ARCA_APP_AUTH_KEY=your-secret-key \
  -e ARCA_GOOGLE_API_KEY=your-google-api-key \
  -e ARCA_REDIS_HOST=host.docker.internal \
  arca-mcp

Docker镜像使用Python 3.14 slim和UV进行依赖管理。

MCP客户端配置

示例 .mcp.json 用于连接MCP客户端(例如Claude Code):

{
  "mcpServers": {
    "arca_memory": {
      "type": "http",
      "url": "http://localhost:4201/app/mcp",
      "headers": {
        "Authorization": "Bearer ",
        "X-namespace": "my_namespace"
      }
    }
  }
}

建筑

              ┌─ /app/mcp → FastMCP Auth → MCP Tool Handler  ─┐
Request → FastAPI                                             ├→ Gemini Embedding (Redis cache) → LanceDB
              └─ /v1/*    → Bearer Auth  → REST Router ───────┘
                                  ↑
                        X-Namespace header (multi-tenancy)

模块布局

app/
├── __main__.py          # Uvicorn entry point
├── main.py              # FastAPI app, lifespan, MCP mount, REST router
├── api/
│   ├── deps.py          # Shared dependencies (auth, namespace extraction)
│   └── memory.py        # REST API router for memory operations
├── context/
│   └── memory.py        # MCP tool definitions (add, get, delete, clear, list_buckets)
├── core/
│   ├── config.py        # Pydantic BaseSettings with ARCA_ env prefix
│   ├── db.py            # LanceDB async connection management
│   ├── cache.py         # Redis cache wrapper
│   ├── ai.py            # Google Gemini AI client
│   └── log.py           # Loguru logging configuration
├── schema/
│   ├── memory.py        # REST API request/response models
│   └── status.py        # Response models (HealthCheckResponse, IndexResponse)
└── util/
    ├── embeds.py         # Embedding generation with Redis caching
    └── memory.py         # Core memory CRUD against LanceDB (PyArrow schema)

技术栈

工具与能力

工具数量

8

资源数量

0

提示词数量

0

能力标签

语义搜索Python本地部署向量数据库AI代理多租户记忆存储

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 8 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Arca MCP

MCP World · 本页

8stdio有2 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Arca MCP 怎么安装?

公开资料给出的安装命令是 python -m app,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Arca MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Arca MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Arca MCP 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Arca MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP