AI助手工具集

MCP Swiss Knife是一个多功能的模型上下文协议服务器,为AI助手提供实用工具集,包括日期时间处理、AI网络搜索、Obsidian笔记管理等模块化功能。

  • by atman-33
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 atman-33/mcp-swissknife

使用说明

MCP瑞士刀

一个多用途的模型上下文协议服务器,为人工智能助手提供实用工具。使用TypeScript构建并遵循MCP协议标准。

特性

MCP Swiss Knife提供了一个模块化的工具集合,这些工具被组织成集中的模块:

  • 日期时间:日期和时间实用程序
  • gemini网络搜索:使用具有WebSearch功能的Gemini进行人工智能网络搜索
  • 黑曜石:用于笔记管理的黑曜石保险库集成
  • 软件docgen:文档生成助手
  • 网络获取:Web内容获取、提取和处理

安装

全球安装

npm install -g mcp-swissknife

使用npx(无需安装)

您可以使用npx直接运行MCP Swiss Knife,无需安装:

npx mcp-swissknife

这是MCP配置的推荐方法,因为它确保您始终使用最新版本。

可选依赖关系

Gemini CLI(用于Gemini网络搜索模块)

要使用Gemini网络搜索功能,您需要安装和配置Gemini CLI:

  1. 安装Gemini CLI工具
  2. 使用API密钥进行配置
  3. 确保它在您的PATH中可用

如果Gemini CLI不可用,Gemini网络搜索模块将自动禁用。

用法

基本用法

# If installed globally
mcp-swissknife

# Or using npx
npx mcp-swissknife

与黑曜石融合

# If installed globally
mcp-swissknife --vault-path /path/to/your/obsidian/vault

# Or using npx
npx mcp-swissknife --vault-path /path/to/your/obsidian/vault

禁用模块

您可以使用禁用特定模块 --disable 选项:

# Disable a single module
mcp-swissknife --disable obsidian

# Disable multiple modules (comma-separated)
mcp-swissknife --disable obsidian,web-fetch

# Combine with other options
mcp-swissknife --vault-path /path/to/vault --disable gemini-web-search

可禁用的模块: datetime, gemini-web-search, obsidian, software-docgen, web-fetch

MCP配置

要将MCP Swiss Knife与MCP兼容的客户端一起使用,请将其添加到MCP配置中:

基本配置

{
  "mcpServers": {
    "mcp-swissknife": {
      "command": "npx",
      "args": ["mcp-swissknife"],
      "env": {}
    }
  }
}

与黑曜石融合

{
  "mcpServers": {
    "mcp-swissknife": {
      "command": "npx",
      "args": ["mcp-swissknife", "--vault-path", "/path/to/your/obsidian/vault"],
      "env": {}
    }
  }
}

特定Vault路径示例

{
  "mcpServers": {
    "mcp-swissknife": {
      "command": "npx",
      "args": ["mcp-swissknife", "--vault-path", "/mnt/c/obsidian"],
      "env": {}
    }
  }
}

禁用模块

{
  "mcpServers": {
    "mcp-swissknife": {
      "command": "npx",
      "args": ["mcp-swissknife", "--disable", "obsidian,web-fetch"],
      "env": {}
    }
  }
}

可用工具

日期时间模块

  • get_current_datetime -获取ISO 8601格式的当前日期和时间

Gemini Web搜索模块(需要Gemini CLI)

  • gemini_web_search -使用具有WebSearch功能的Gemini执行人工智能网络搜索,提供全面的分析和总结结果

黑曜石模块(必需--保险库路径)

  • read_notes -从保管库中读取多个笔记的内容
  • search_notes -按名称搜索部分匹配的笔记

软件文档模块

  • get_software_documentation_prompt -获取创建项目文档的提示

Web提取模块

  • Web内容获取和处理工具

发展

先决条件

  • Node.js(ES2022+支持)
  • npm或纱线

设置

git clone <repository-url>
cd mcp-swissknife
npm install

开发命令

npm run dev              # Development with vite-node
npm run build           # Production build
npm run quality:fix     # Format, lint, and typecheck
npm run typecheck       # TypeScript validation only

建筑

MCP Swiss Knife遵循模块化架构,其中每个功能都作为一个独立的模块实现 src/lib/每个模块都实现 ToolModule 接口并提供:

  • 使用Zod模式的工具定义
  • 处理程序实现
  • 可选初始化逻辑

添加新模块

  1. 创建目录: src/lib/[module-name]/
  2. 执行所需文件: index.ts, tools.ts, handlers.ts
  3. 注册 serverConfig.modules 数组in src/index.ts
  4. 如果需要,添加CLI选项

许可证

麻省理工学院