多模态数据库协议服务器

Morphik MCP是一个模型上下文协议服务器实现,用于与Morphik多模态数据库系统交互,支持文档管理、检索、查询及文件系统导航等功能。

  • by SeongEon-Kim
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 seongeon-kim/morphik-mcp-dify

使用说明

Morphik MCP

Morphik多模式数据库的模型上下文协议(MCP)服务器实现。

概述

此MCP服务器允许Claude和其他兼容MCP的AI助手与Morphik数据库系统交互,从而实现:

  • 文档摄取(文本和文件)
  • 文档检索(按与查询的相关性)
  • 使用LLM驱动的补全功能进行文档查询
  • 文档管理(列出、获取、删除)
  • 文件系统导航和从路径摄取文件

服务器支持两种传输模式:

  • 标准 (默认):用于Claude Desktop和其他MCP客户端的标准输入/输出
  • 可流式HTTPS:用于基于web的集成的HTTP/HTTPS端点

先决条件

您需要访问以下任一内容:

  • 运行在localhost:8000上的本地Morphik服务器,或
  • Morphik云平台

安装与使用

选项1:直接使用npx运行(推荐)

# Connect to local Morphik server
npx morphik-mcp

# Connect to Morphik cloud platform (replace with your actual URI)
npx morphik-mcp --uri=https://api.morphik.ai

# Specify allowed directories for file operations (comma-separated)
npx morphik-mcp --allowed-dir=~/Documents,~/Downloads

选项2:全局安装

npm install -g morphik-mcp

# Connect to local Morphik server
morphik-mcp

# Connect to Morphik cloud platform
morphik-mcp --uri=https://api.morphik.ai

# Specify allowed directories for file operations
morphik-mcp --allowed-dir=~/Documents,~/Downloads

方案3:地方发展

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

# Install dependencies
npm install

# Build the project
npm run build

# Start the server (local Morphik)
npm start

# Start the server with file operations enabled
node build/index.js --allowed-dir=~/Documents,~/Downloads

默认情况下,服务器在标准输入/输出流上运行,可以与Claude等MCP客户端一起使用。

有关HTTP/HTTPS模式(可流式传输),请参阅 streamable_https.md 文档。

使用Claude Desktop

将此添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "morphik-local": {
      "command": "npx",
      "args": ["-y", "morphik-mcp"]
    },
    "morphik-cloud": {
      "command": "npx",
      "args": ["-y", "morphik-mcp", "--uri=https://api.morphik.ai"]
    },
    "morphik-with-files": {
      "command": "npx",
      "args": ["-y", "morphik-mcp", "--allowed-dir=~/Documents,~/Downloads"]
    }
  }
}

MCP工具

服务器提供以下工具:

1.文件摄入

  • ingest-text:将文本文档摄入Morphik

    • 参数:内容、文件名(可选)、元数据(可选)和apiKey
  • ingest-file-from-path:将服务器文件系统中的文件摄入Morphik

    • 参数:路径、元数据(可选)、规则(可选)
  • ingest-files-from-paths:从服务器的文件系统批量摄取多个文件

    • 参数:路径、元数据(可选)、规则(可选),folderName(可选)和endUserId(可选)以及useColpali(可选)

2.文件检索

  • retrieve-chunks:根据查询从Morphik检索相关块

    • 参数:查询、过滤器(可选)、k(可选),minScore(可选)和apiKey
  • retrieve-docs:根据查询从Morphik检索相关文档

    • 参数:查询、过滤器(可选)、k(可选),minScore(可选)和apiKey

3.单据查询

  • query:使用相关块作为上下文生成完成
    • 参数:查询、过滤器(可选)、k(可选),maxTokens(可选)

4.文件管理

  • list-documents:在Morphik中列出文档

    • 参数:跳过(可选),限制(可选)、过滤器(可选)和apiKey
  • get-document:通过ID从Morphik获取特定文档

    • 参数:documentId、apiKey
  • delete-document:按ID从Morphik中删除文档

    • 参数:documentId、apiKey

5.文件系统导航

  • list-allowed-directories:列出允许服务器访问的目录

    • 参数:无
  • list-directory:列出特定目录中的文件和子目录

    • 参数:路径
  • search-files:在目录及其子目录中搜索与模式匹配的文件

    • 参数:路径、模式、excludePatterns(可选)
  • get-file-info:获取有关文件或目录的详细信息

    • 参数:路径

文件操作安全

出于安全原因,文件操作仅限于使用启动服务器时明确允许的目录 --allowed-dir 参数。如果没有指定目录,则只能访问用户的主目录。

服务器验证所有文件路径,以确保它们在允许的目录内,防止访问敏感的系统文件。还检查了符号链接,以确保它们不会指向允许的目录之外。

发展

构建项目:

npm run build

运行测试:

npm test

运行手动测试:

npm run test:manual

许可证

国际协调委员会