返回 MCP 目录
public公开dns本地运行

MCP

该项目包含两个MCP服务器:文件搜索和语音转文字,提供VS Code集成和HTTP API支持。

article

README

🚀 使用MCP进行文件查找和语音转写

本项目借助MCP(Multi-Channel Processing)多通道处理框架,实现了文件查找和语音转写两大实用功能。通过HTTP服务器提供REST API,用户可方便地搜索指定路径下的文件;同时利用fastspeech库,能将音频精准转换为文字并提供详细转录信息。

🚀 快速开始

安装依赖

首先,安装项目所需的依赖:

npm install
pip install -r requirements.txt  # 确保你已经创建了requirements.txt文件

编译和构建

编译TypeScript代码并生成JavaScript文件:

npm run build

启动服务

文件查找服务器(直接实现)

运行src/index.ts:

ts-node src/index.ts

HTTP文件查找服务器

运行main.py:

python main.py

默认情况下,服务器将在8080端口启动。

语音转写服务器(直接实现)

运行src/whisper-index.ts:

ts-node src/whisper-index.ts

HTTP语音转写服务器

运行whisper_server.py:

python whisper_server.py

默认情况下,服务器将在8081端口启动。

✨ 主要特性

  • 多通道处理:MCP(Multi-Channel Processing)框架可同时处理多个数据流。
  • 文件查找:通过HTTP服务器提供REST API,方便用户搜索指定路径下的文件。
  • 语音转写:利用fastspeech库将音频转换为文字,并提供详细的转录信息。

📦 安装指南

安装依赖

npm install
pip install -r requirements.txt  # 确保你已经创建了requirements.txt文件

编译和构建

npm run build

💻 使用示例

文件查找API

发送GET请求到http://localhost:8080/search?path=/target/directory以获取指定路径下的所有文件。

请求示例:

curl http://localhost:8080/search?path=/home/user/documents

响应示例:

{
  "files": [
    "/home/user/documents/report.pdf",
    "/home/user/documents/data.csv"
  ],
  "directories": [
    "/home/user/documents/subfolder"
  ]
}

语音转写API

发送POST请求到http://localhost:8081/transcribe,并在请求体中包含音频数据。

请求示例:

curl -X POST http://localhost:8081/transcribe \
     --header "Content-Type: application/json" \
     --data '{"audio":"JVBERi0xLjUK...","language":"zh-CN"}'

响应示例:

{
  "text": "这是一个语音转写示例。",
  "segments": [
    {
      "start": 0.0,
      "end": 2.5,
      "text": "这是"
    },
    {
      "start": 2.5,
      "end": 4.0,
      "text": "一个语音转写示例。"
    }
  ],
  "language": "zh-CN",
  "language_probability": 0.98
}

📚 详细文档

项目结构

项目的目录结构如下:

project/
├── src/
│   ├── index.ts        # 文件查找的MCP服务器实现(直接实现)
│   ├── index-http.ts    # HTTP服务器文件查找的MCP代理实现
│   ├── whisper-index.ts # 语音转写的MCP服务器实现(直接实现)
│   └── whisper-index-http.ts # HTTP服务器语音转写的MCP代理实现
├── build/
│   ├── index.js        # 编译后的JavaScript文件,用于文件查找的MCP服务器
│   ├── index-http.js    # 编译后的JavaScript文件,用于HTTP服务器文件查找的MCP代理
│   ├── whisper-index.js # 编译后的JavaScript文件,用于语音转写的MCP服务器
│   └── whisper-index-http.js # 编译后的JavaScript文件,用于HTTP服务器语音转写的MCP代理
├── tsconfig.json        # TypeScript配置文件
├── package.json         # 项目依赖和描述
├── main.py              # Python实现的文件查找HTTP服务器
└── whisper_server.py    # Python实现的语音转写HTTP服务器

问题排查

  • 如果出现“找不到连接”的错误,请确保在修改MCP设置后重新启动VS Code。
  • 如果服务器无响应,检查MCP代理路径是否正确指向编译后的JavaScript文件。
  • 在使用fastspeech时,如果需要GPU加速,请确保安装了必要的显卡驱动和计算库(如CUDA)。

附录

使用Docker部署

你可以将项目打包为Docker镜像以便在生产环境中运行。创建一个Dockerfile如下:

FROM node:16-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install --production

FROM python:3.8-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY --from=builder /app/ .

# 设置默认Python路径
ENV PATH=/usr/local/bin:$PATH

EXPOSE 8080 8081
CMD ["python", "main.py", "--port", "8080"]

然后构建和运行镜像:

docker build -t mcp .
docker run -p 8080:8080 -p 8081:8081 mcp

示例项目结构

确保项目的根目录下有以下文件和子目录:

project/
├── src/
│   ├── index.ts
│   └── whisper-index.ts
├── build/
│   ├── index.js
│   └── whisper-index.js
├── package.json
├── tsconfig.json
├── main.py
└── whisper_server.py

依赖管理

确保你已经安装了Node.js和Python的开发环境,并且安装了项目所需的依赖项。

Node.js依赖:
{
  "name": "mcp",
  "version": "1.0.0",
  "description": "Multi-Channel Processing for file search and speech transcription.",
  "scripts": {
    "build": "tsc -p tsconfig.json"
  },
  "dependencies": {
    "typescript": "^4.5.2",
    "fastspeech": "^0.13.0"
  }
}
Python依赖:
numpy
flask
pydub

贡献指南

欢迎任何贡献!请遵循以下步骤:

  1. 创建功能分支:git checkout -b feature/your-feature
  2. 提交变更:git add . && git commit -m '你的提交信息'
  3. 推送到远程仓库:git push origin feature/your-feature
  4. 提交拉取请求

📄 许可证

本项目使用MIT许可证,详情请参阅LICENSE文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端