德语学习翻译工具

一个集成了DeepL翻译、PostgreSQL数据库存储和网页内容抓取功能的德语学习工具,支持与GitHub Copilot的无缝集成。

  • by tacorrea
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 tacorrea/mcp_client

使用说明

MCP客户-德语学习项目

一个用于德语学习的模型上下文协议(MCP)客户端项目,具有翻译功能和数据库存储。该项目演示了与多个MCP服务器的集成,包括DeepL翻译、PostgreSQL数据库和web获取功能。

特性

  • 🌍 翻译:德语↔ 英语↔ 使用DeepL API进行西班牙语翻译
  • 🗃️ 数据库存储:PostgreSQL数据库,用于存储带有时间戳的翻译
  • 🔍 网络抓取:从语言学习材料的网址获取内容
  • 🤖 GitHub复制集成:与GitHub Copilot的代理模式无缝协作

先决条件

安装说明

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副本代理模式

  1. 在VS代码中启用MCP:确保 .vscode/mcp.json 文件配置正确
  2. 打开GitHub Copilot聊天:使用 Ctrl+Shift+P (或 Cmd+Shift+P 在Mac上),然后选择“GitHub Copilot:打开聊天”
  3. 使用代理模式:以以下内容开始查询 @ 访问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服务器:

  1. DeepL翻译服务器

    • 命令: npx -y deepl-mcp-server
    • 目的:德语、英语和西班牙语之间的高质量翻译
  2. PostgreSQL数据库服务器

    • 命令: uv run postgres-mcp --access-mode=unrestricted
    • 用途:存储和查询翻译数据
  3. 获取服务器

    • 命令: 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)

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 使用直接客户端和GitHub Copilot进行测试
  5. 提交拉取请求