开源MCP工具 是 AI Skill Hub 本期精选MCP工具之一。综合评分 7.5 分,整体质量较高。我们推荐使用将其纳入你的 AI 工具库,帮助提升工作效率。
Self-hosted AI agents with persistent memory, real identity, and collaboration, 开源MCP工具
开源MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
Self-hosted AI agents with persistent memory, real identity, and collaboration, 开源MCP工具
开源MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/MarlBurroW/kinbot
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"--mcp--": {
"command": "npx",
"args": ["-y", "kinbot"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 开源MCP工具 执行以下任务... Claude: [自动调用 开源MCP工具 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"__mcp__": {
"command": "npx",
"args": ["-y", "kinbot"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
DevOps copilot — A Kin connected to GitHub webhooks triages new issues, reviews PRs, runs CI checks, and creates releases. It remembers your codebase conventions and past decisions. Cron jobs monitor infrastructure and alert you on Telegram.
Home automation brain — A Kin talks to Home Assistant via MCP, learns your routines over time, and adjusts lighting/heating based on context. Ask it "why was the heating on last night?" and it remembers.
Personal knowledge base — Upload docs, meeting notes, project specs. A Kin indexes everything with RAG and answers questions across months of accumulated context. Unlike ChatGPT, it never forgets previous conversations.
Multi-agent team — A dispatcher Kin receives requests and delegates to specialists (one for code, one for sysadmin, one for writing). They collaborate, share context through memories, and report back.
Business monitoring — Webhooks feed sales data, support tickets, or server metrics into a Kin. It builds mini-app dashboards, sends daily Slack summaries, and flags anomalies before you notice them.
Family assistant — Multiple users share the same instance. One Kin manages groceries via Telegram, another handles kids' schedules, another tracks household tasks. Each remembers everyone's preferences.
---
curl -fsSL https://raw.githubusercontent.com/MarlBurroW/kinbot/main/install.sh | bash
This script will: 1. Install Bun if not already present 2. Clone the repository to /opt/kinbot 3. Install dependencies and build the frontend 4. Run database migrations 5. Create a system service (systemd on Linux, launchd on macOS) 6. Start KinBot on port 3000
Customizable via env vars:
KINBOT_DIR=/home/me/kinbot \
KINBOT_DATA_DIR=/home/me/kinbot-data \
KINBOT_PORT=8080 \
bash <(curl -fsSL https://raw.githubusercontent.com/MarlBurroW/kinbot/main/install.sh)
git clone https://github.com/MarlBurroW/kinbot.git
cd kinbot/docker
ENCRYPTION_KEY=$(openssl rand -hex 32) docker compose up -d
See docker/docker-compose.yml for full options.
git clone https://github.com/MarlBurroW/kinbot.git
cd kinbot
bun install
bun run dev # Starts Vite dev server (port 5173) + Hono backend (port 3333)
The dev server proxies API requests from port 5173 to 3333 automatically.
docker run -d -p 3001:3000 ghcr.io/marlburrow/kinbot:latest
#### Database migration errors after update
If you see migration errors after updating KinBot:
bash
bun run build
docker run -d --name kinbot -p 3000:3000 -v kinbot-data:/app/data ghcr.io/marlburrow/kinbot:latest
Open http://localhost:3000 — done. The onboarding wizard handles the rest.
<details> <summary><strong>Other install methods</strong> (one-liner script, Docker Compose, manual)</summary>
Copy .env.example to .env and adjust as needed. All values have sensible defaults — you can start with an empty .env.
| Variable | Default | Description | |||
|---|---|---|---|---|---|
PORT | 3333 | HTTP server port | |||
HOST | 127.0.0.1 | Bind address (0.0.0.0 to expose on all interfaces) | |||
KINBOT_DATA_DIR | ./data | Persistent data directory (DB, uploads, workspaces) | |||
ENCRYPTION_KEY | *(auto-generated)* | 64-char hex key for AES-256-GCM vault encryption. Auto-generated and persisted to data/.encryption-key on first run. | |||
LOG_LEVEL | info | debug \ | info \ | warn \ | error |
PUBLIC_URL | http://localhost:3333 | Public-facing URL (used in webhooks, invitation links) |
See .env.example for the complete list of all options (compacting thresholds, memory tuning, queue settings, cron limits, web browsing, etc.).
---
All settings have sensible defaults. Override only what you need.
<details> <summary><strong>Full configuration reference</strong></summary>
| Variable | Default | Description |
|---|---|---|
PORT | 3333 | HTTP server port |
HOST | 127.0.0.1 | Bind address (0.0.0.0 to expose externally) |
NODE_ENV | development | Set to production for optimized builds |
PUBLIC_URL | http://localhost:{PORT} | Public-facing URL (for OAuth callbacks, webhooks) |
KINBOT_DATA_DIR | ./data | Data directory (DB, uploads, workspaces) |
ENCRYPTION_KEY | Auto-generated | AES-256 key for vault encryption. Auto-generated and persisted on first run. Must be preserved across restarts. |
LOG_LEVEL | info | Log verbosity: debug, info, warn, error |
DB_PATH | {dataDir}/kinbot.db | SQLite database file path |
| Variable | Default | Description |
|---|---|---|
COMPACTING_THRESHOLD_PERCENT | 75 | Context usage % before compaction triggers |
COMPACTING_KEEP_PERCENT | 40 | % of context window preserved as raw messages |
COMPACTING_SUMMARY_BUDGET_PERCENT | 20 | Max % of context for summaries before telescopic merge |
COMPACTING_MAX_SUMMARIES | 10 | Max active summaries before telescopic merge |
COMPACTING_MAX_SUMMARIES_PER_KIN | 50 | Total summary retention per Kin (active + archived) |
COMPACTING_MODEL | Provider default | Override the model used for session compacting |
MEMORY_EXTRACTION_MODEL | Provider default | Override the model used for memory extraction |
MEMORY_MAX_RELEVANT | 10 | Max relevant memories injected into context |
MEMORY_SIMILARITY_THRESHOLD | 0.7 | Minimum cosine similarity for memory retrieval |
MEMORY_EMBEDDING_MODEL | text-embedding-3-small | Embedding model for memory vectors |
MEMORY_EMBEDDING_DIMENSION | 1536 | Vector dimension for embeddings |
MEMORY_TOKEN_BUDGET | 0 | Max tokens for memory block in prompt (0 = unlimited) |
MEMORY_RERANK_MODEL | Provider default | Cross-encoder rerank model (Cohere, Jina) for memory retrieval |
MEMORY_CONSOLIDATION_MODEL | Provider default | Model used for memory consolidation |
MEMORY_CONSOLIDATION_SIMILARITY | 0.85 | Cosine similarity threshold for merging duplicate memories |
MEMORY_CONSOLIDATION_MAX_GEN | 5 | Max consolidation generations per run |
MEMORY_MULTI_QUERY_MODEL | Provider default | Model for multi-query expansion during recall |
MEMORY_HYDE_MODEL | Provider default | Model for HyDE (hypothetical document embedding) queries |
MEMORY_CONTEXTUAL_REWRITE_MODEL | Provider default | Model for contextual memory rewriting |
MEMORY_CONTEXTUAL_REWRITE_THRESHOLD | 80 | Token threshold to trigger contextual rewrite |
MEMORY_ADAPTIVE_K | true | Enable adaptive K (dynamic result count based on score distribution) |
MEMORY_ADAPTIVE_K_MIN_SCORE_RATIO | 0.3 | Minimum score ratio for adaptive K cutoff |
MEMORY_RRF_K | 60 | Reciprocal Rank Fusion K parameter for hybrid search |
MEMORY_FTS_BOOST | 0.5 | Full-text search score boost factor |
MEMORY_SUBJECT_BOOST | 1.3 | Score boost for subject-matching memories |
MEMORY_CATEGORY_BOOST | 1.25 | Score boost for category-matching memories |
MEMORY_TEMPORAL_DECAY_LAMBDA | 0.01 | Temporal decay rate (higher = faster decay) |
MEMORY_TEMPORAL_DECAY_FLOOR | 0.7 | Minimum score multiplier from temporal decay |
HISTORY_TOKEN_BUDGET | 40000 | Max tokens for conversation history in context |
| Variable | Default | Description |
|---|---|---|
QUEUE_POLL_INTERVAL | 500 | Queue polling interval in ms |
TASKS_MAX_DEPTH | 3 | Maximum sub-task nesting depth |
TASKS_MAX_REQUEST_INPUT | 3 | Max concurrent task requests per input |
TASKS_MAX_CONCURRENT | 10 | Max concurrent tasks globally |
TOOLS_MAX_STEPS | 10 | Max tool call steps per LLM turn |
| Variable | Default | Description |
|---|---|---|
CRONS_MAX_ACTIVE | 50 | Max active cron jobs |
CRONS_MAX_CONCURRENT_EXEC | 5 | Max concurrent cron executions |
| Variable | Default | Description |
|---|---|---|
INTER_KIN_MAX_CHAIN_DEPTH | 5 | Max chain depth for Kin-to-Kin messages |
INTER_KIN_RATE_LIMIT | 20 | Max inter-Kin messages per minute |
| Variable | Default | Description |
|---|---|---|
CHANNELS_MAX_PER_KIN | 5 | Max channel connections per Kin |
WEBHOOKS_MAX_PER_KIN | 20 | Max webhooks per Kin |
WEBHOOKS_MAX_PAYLOAD_BYTES | 1048576 | Max webhook payload size (1 MB) |
WEBHOOKS_LOG_RETENTION_DAYS | 30 | Webhook execution log retention period |
WEBHOOKS_MAX_LOGS_PER_WEBHOOK | 500 | Max stored execution logs per webhook |
WEBHOOKS_RATE_LIMIT_PER_MINUTE | 60 | Max webhook executions per minute |
| Variable | Default | Description |
|---|---|---|
UPLOAD_DIR | {dataDir}/uploads | Upload directory |
UPLOAD_MAX_FILE_SIZE | 50 | Max upload size in MB |
UPLOAD_CHANNEL_RETENTION_DAYS | 30 | Channel file retention period in days |
UPLOAD_CHANNEL_CLEANUP_INTERVAL | 60 | Channel file cleanup interval in minutes |
FILE_STORAGE_DIR | {dataDir}/storage | Kin file storage directory |
FILE_STORAGE_MAX_SIZE | 100 | Max file size in MB |
FILE_STORAGE_CLEANUP_INTERVAL | 60 | Cleanup interval in minutes |
| Variable | Default | Description |
|---|---|---|
VAULT_ATTACHMENT_DIR | {dataDir}/vault | Vault attachment directory |
VAULT_MAX_ATTACHMENT_SIZE | 50 | Max attachment size in MB |
VAULT_MAX_ATTACHMENTS_PER_ENTRY | 10 | Max attachments per vault entry |
| Variable | Default | Description |
|---|---|---|
WORKSPACE_BASE_DIR | {dataDir}/workspaces | Kin workspace base directory |
MINI_APPS_DIR | {dataDir}/mini-apps | Mini apps storage directory |
MINI_APPS_MAX_PER_KIN | 20 | Max mini apps per Kin |
MINI_APPS_MAX_FILE_SIZE | 5 | Max single file size in MB |
MINI_APPS_MAX_TOTAL_SIZE | 50 | Max total size per app in MB |
MINI_APPS_BACKEND_ENABLED | true | Enable mini app backend execution |
| Variable | Default | Description |
|---|---|---|
WEB_BROWSING_PAGE_TIMEOUT | 30000 | Page load timeout in ms |
WEB_BROWSING_MAX_CONTENT_LENGTH | 100000 | Max extracted content length |
WEB_BROWSING_MAX_CONCURRENT | 5 | Max concurrent fetches |
WEB_BROWSING_USER_AGENT | KinBot default | Custom User-Agent string |
WEB_BROWSING_BLOCKED_DOMAINS | *(empty)* | Comma-separated blocked domains |
WEB_BROWSING_PROXY | *(none)* | HTTP proxy for web requests |
WEB_BROWSING_HEADLESS_ENABLED | false | Enable headless browser (Puppeteer) |
PUPPETEER_EXECUTABLE_PATH | Auto-detected | Chrome/Chromium path for headless mode |
WEB_BROWSING_MAX_BROWSERS | 2 | Max concurrent browser instances |
WEB_BROWSING_BROWSER_IDLE_TIMEOUT | 60000 | Browser idle timeout in ms |
| Variable | Default | Description |
|---|---|---|
MCP_REQUIRE_APPROVAL | true | Require user approval for MCP server management |
HUMAN_PROMPTS_MAX_PENDING | 5 | Max pending human-in-the-loop prompts per Kin |
| Variable | Default | Description |
|---|---|---|
QUICK_SESSION_EXPIRATION_HOURS | 24 | Quick session expiration time |
QUICK_SESSION_MAX_PER_USER_KIN | 1 | Max active quick sessions per user per Kin |
QUICK_SESSION_RETENTION_DAYS | 7 | Quick session data retention |
QUICK_SESSION_CLEANUP_INTERVAL | 60 | Cleanup interval in minutes |
INVITATION_DEFAULT_EXPIRY_DAYS | 7 | Default invitation link expiry |
INVITATION_MAX_ACTIVE | 50 | Max active invitations |
| Variable | Default | Description |
|---|---|---|
NOTIFICATIONS_RETENTION_DAYS | 30 | Notification retention period |
NOTIFICATIONS_MAX_PER_USER | 500 | Max stored notifications per user |
NOTIFICATIONS_EXT_MAX_PER_USER | 5 | Max external notification endpoints per user |
NOTIFICATIONS_EXT_RATE_LIMIT | 5 | External notification rate limit per minute |
NOTIFICATIONS_EXT_MAX_ERRORS | 5 | Max consecutive errors before disabling endpoint |
| Variable | Default | Description |
|---|---|---|
WAKEUPS_MAX_PENDING_PER_KIN | 20 | Max pending wakeups per Kin |
| Variable | Default | Description |
|---|---|---|
VERSION_CHECK_ENABLED | false | Enable automatic version checking |
VERSION_CHECK_REPO | MarlBurroW/kinbot | GitHub repo to check for new releases |
VERSION_CHECK_INTERVAL_HOURS | 12 | Hours between version checks |
</details>
---
<details> <summary><strong>Common issues and solutions</strong></summary>
Error: listen EADDRINUSE :::3000
Another process is using port 3000. Either stop it or change KinBot's port:
```bash PORT=3001 bun src/server/index.ts
该项目提供了一个开源的MCP工具,支持自主AI代理的开发,具有持久性内存,真实身份和协作功能,值得关注
该工具使用 AGPL-3.0 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
⚠️ AGPL 3.0 — 最严格的 Copyleft,网络服务端使用也需开源,SaaS 使用受限。
经综合评估,开源MCP工具 在MCP工具赛道中表现稳健,质量良好。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | kinbot |
| 原始描述 | 开源MCP工具:Self-hosted AI agents with persistent memory, real identity, and collaboration. 。⭐42 · TypeScript |
| Topics | mcpagent-frameworkaiai-agentsartificial-intelligenceautomationtypescript |
| GitHub | https://github.com/MarlBurroW/kinbot |
| License | AGPL-3.0 |
| 语言 | TypeScript |
收录时间:2026-05-28 · 更新时间:2026-05-30 · License:AGPL-3.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端