使用说明
MCP客户-德语学习项目
一个用于德语学习的模型上下文协议(MCP)客户端项目,具有翻译功能和数据库存储。该项目演示了与多个MCP服务器的集成,包括DeepL翻译、PostgreSQL数据库和web获取功能。
特性
- 🌍 翻译:德语↔ 英语↔ 使用DeepL API进行西班牙语翻译
- 🗃️ 数据库存储:PostgreSQL数据库,用于存储带有时间戳的翻译
- 🔍 网络抓取:从语言学习材料的网址获取内容
- 🤖 GitHub复制集成:与GitHub Copilot的代理模式无缝协作
先决条件
- 码头工人 Docker Compose
- 紫外线 -Python包管理器
- Node.js -适用于DeepL MCP服务器
- GitHub Copilot 订阅
- DeepL API密钥 (免费版可用)
安装说明
1.克隆并导航到项目
git clone <repository-url>
cd mcp_client
2.环境配置
创建一个 .env 项目根目录中的文件:
cp .env.example .env
编辑 .env 基于.env.示例,使用您的凭据文件
3.数据库设置
使用Docker Compose启动PostgreSQL数据库:
docker-compose up -d
数据库将自动:
- 创建
german_learning数据库 - 运行初始化脚本(
database/init.sql) - 创建
translations桌子 - 插入示例翻译数据
- 在港口可用
5434
验证数据库是否正在运行:
docker-compose ps
4.MCP配置
运行设置脚本,使用API密钥配置MCP:
chmod +x setup-mcp.sh
./setup-mcp.sh
这将创建 .vscode/mcp.json 文件与您的DeepL API密钥和数据库配置。
5.安装Python依赖项
cd mcp-client
uv sync
用法
GitHub副本代理模式
- 在VS代码中启用MCP:确保
.vscode/mcp.json文件配置正确 - 打开GitHub Copilot聊天:使用
Ctrl+Shift+P(或Cmd+Shift+P在Mac上),然后选择“GitHub Copilot:打开聊天” - 使用代理模式:以以下内容开始查询
@访问MCP功能
Copilot聊天中的示例用法
# Translate and store in database
Translate "Ich bin müde" to Spanish and add it to the database
# Query database
Show me all translations from the database
# Fetch and translate web content
Fetch content from https://example-german-site.com and translate key phrases
# Database analysis
Show me the most recently added translations
数据库模式
这 translations 表存储语言学习数据:
CREATE TABLE translations (
id SERIAL PRIMARY KEY,
datetime TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
german TEXT NOT NULL,
english TEXT,
spanish TEXT
);
MCP服务器配置
本项目使用三台MCP服务器:
-
DeepL翻译服务器
- 命令:
npx -y deepl-mcp-server - 目的:德语、英语和西班牙语之间的高质量翻译
- 命令:
-
PostgreSQL数据库服务器
- 命令:
uv run postgres-mcp --access-mode=unrestricted - 用途:存储和查询翻译数据
- 命令:
-
获取服务器
- 命令:
uvx mcp-server-fetch - 目的:从网址检索内容以进行翻译练习
- 命令:
故障排除
数据库连接问题
# Check if database is running
docker-compose ps
# View database logs
docker-compose logs postgres
# Restart database
docker-compose restart postgres
MCP配置问题
# Recreate MCP configuration
rm .vscode/mcp.json
./setup-mcp.sh
DeepL API问题
- 在中验证您的API密钥
.env文件 - 检查您的DeepL API使用限制
- 确保您使用正确的API端点(免费与专业)
项目结构
mcp_client/
├── .env.example # Environment variables template
├── .env # Your environment variables (not in git)
├── README.md # This file
├── docker-compose.yml # Database container configuration
├── setup-mcp.sh # MCP setup script
├── database/
│ └── init.sql # Database initialization script
├── mcp-client/
│ ├── client.py # MCP client implementation
│ ├── pyproject.toml # Python dependencies
│ └── uv.lock # Dependency lock file
└── .vscode/
└── mcp.json # MCP server configuration (auto-generated)
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 使用直接客户端和GitHub Copilot进行测试
- 提交拉取请求