MCP

MCP

🚀 使用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文件。

  • 0 关注
  • 0 收藏,34 浏览
  • system 提出于 2025-10-07 08:18

相似服务问题

相关AI产品