FlashCardsMCP 是一个采用 Docker 容器化的 Python 模型上下文协议(MCP)服务器,用于管理抽认卡项目。它借助 OpenAI 嵌入技术和 SQLite 实现语义搜索与数据存储。
type 字段:project 或 card。ValueError。.github/copilot-instructions.md。export OPENAI_API_KEY=sk-...your-key...
在运行服务器或 Docker 容器之前,必须设置此变量。
pip install -r requirements.txt
python main.py
docker build -t flash-card-mcp .
# 使用数据库持久化运行(推荐):
docker run -v $(pwd)/storage:/app/storage/database.db flash-card-mcp
此服务器通过 FastMCP 采用模型上下文协议(MCP)公开其 API。你可以调用以下工具:
get_all_projects() → 列出所有项目add_project(name) → 创建新项目(返回完整的项目字典)search_project_by_name(name) → 对项目进行语义搜索(返回完整的项目字典)get_random_card_by_project(project_id) → 从项目中获取随机抽认卡add_card(project_id, question, answer, hint=None, description=None) → 添加抽认卡(返回完整的抽认卡字典)get_all_cards_by_project(project_id) → 列出项目中的所有抽认卡search_cards_by_embedding(project_id, query) → 对项目中的抽认卡进行语义搜索global_search_cards_by_embedding(query) → 对所有项目中的抽认卡进行全局语义搜索get_card_by_id(card_id) → 通过 ID 检索抽认卡所有返回的对象都包含一个 type 字段,且从不包含二进制嵌入数据。
database.db) 中。text-embedding-ada-002 模型生成。main.py 和 db.py 中实现。.github/copilot-instructions.md。npx @modelcontextprotocol/inspector docker 'run -e OPENAI_API_KEY=sk-...your-key... -v //storage:/app/storage --rm -i flash-card-mcp
欲了解更多详情,请参阅 main.py 和 db.py 中的代码和文档字符串。