mcp-server/EXAMPLES.md
本文档提供了 WeKnora MCP Server 的详细使用示例。
# 推荐方式 - 使用主入口点
python main.py
# 检查环境配置
python main.py --check-only
# 启用详细日志
python main.py --verbose
# 设置环境变量
export WEKNORA_BASE_URL="http://localhost:8080/api/v1"
export WEKNORA_API_KEY="your_api_key_here"
# 或者在 .env 文件中设置
echo "WEKNORA_BASE_URL=http://localhost:8080/api/v1" > .env
echo "WEKNORA_API_KEY=your_api_key_here" >> .env
以下是各种 MCP 工具的使用示例:
{
"tool": "create_tenant",
"arguments": {
"name": "我的公司",
"description": "公司知识管理系统",
"business": "technology",
"retriever_engines": {
"engines": [
{"retriever_type": "keywords", "retriever_engine_type": "postgres"},
{"retriever_type": "vector", "retriever_engine_type": "postgres"}
]
}
}
}
{
"tool": "list_tenants",
"arguments": {}
}
{
"tool": "create_knowledge_base",
"arguments": {
"name": "产品文档库",
"description": "产品相关文档和资料",
"embedding_model_id": "text-embedding-ada-002",
"summary_model_id": "gpt-3.5-turbo"
}
}
{
"tool": "list_knowledge_bases",
"arguments": {}
}
{
"tool": "get_knowledge_base",
"arguments": {
"kb_id": "kb_123456"
}
}
{
"tool": "hybrid_search",
"arguments": {
"kb_id": "kb_123456",
"query": "如何使用API",
"vector_threshold": 0.7,
"keyword_threshold": 0.5,
"match_count": 10
}
}
{
"tool": "create_knowledge_from_url",
"arguments": {
"kb_id": "kb_123456",
"url": "https://docs.example.com/api-guide",
"enable_multimodel": true
}
}
{
"tool": "list_knowledge",
"arguments": {
"kb_id": "kb_123456",
"page": 1,
"page_size": 20
}
}
{
"tool": "get_knowledge",
"arguments": {
"knowledge_id": "know_789012"
}
}
{
"tool": "create_model",
"arguments": {
"name": "GPT-4 Chat Model",
"type": "KnowledgeQA",
"source": "openai",
"description": "OpenAI GPT-4 模型用于知识问答",
"base_url": "https://api.openai.com/v1",
"api_key": "sk-...",
"is_default": true
}
}
{
"tool": "list_models",
"arguments": {}
}
{
"tool": "create_session",
"arguments": {
"kb_id": "kb_123456",
"max_rounds": 10,
"enable_rewrite": true,
"fallback_response": "抱歉,我无法回答这个问题。",
"summary_model_id": "gpt-3.5-turbo"
}
}
{
"tool": "get_session",
"arguments": {
"session_id": "sess_345678"
}
}
{
"tool": "list_sessions",
"arguments": {
"page": 1,
"page_size": 10
}
}
{
"tool": "chat",
"arguments": {
"session_id": "sess_345678",
"query": "请介绍一下产品的主要功能"
}
}
{
"tool": "list_chunks",
"arguments": {
"knowledge_id": "know_789012",
"page": 1,
"page_size": 50
}
}
{
"tool": "delete_chunk",
"arguments": {
"knowledge_id": "know_789012",
"chunk_id": "chunk_456789"
}
}
# 1. 启动服务器
python main.py --verbose
# 2. 在 MCP 客户端中执行以下步骤:
{
"tool": "create_tenant",
"arguments": {
"name": "技术文档中心",
"description": "公司技术文档知识管理",
"business": "technology"
}
}
{
"tool": "create_knowledge_base",
"arguments": {
"name": "API文档库",
"description": "所有API相关文档"
}
}
{
"tool": "create_knowledge_from_url",
"arguments": {
"kb_id": "返回的知识库ID",
"url": "https://docs.company.com/api",
"enable_multimodel": true
}
}
{
"tool": "create_session",
"arguments": {
"kb_id": "知识库ID",
"max_rounds": 5,
"enable_rewrite": true
}
}
{
"tool": "chat",
"arguments": {
"session_id": "会话ID",
"query": "如何使用用户认证API?"
}
}
{
"error": "Connection refused",
"solution": "检查 WEKNORA_BASE_URL 是否正确,确认服务正在运行"
}
{
"error": "Unauthorized",
"solution": "检查 WEKNORA_API_KEY 是否设置正确"
}
{
"error": "Knowledge base not found",
"solution": "确认知识库ID是否正确,或先创建知识库"
}
{
"tool": "hybrid_search",
"arguments": {
"kb_id": "kb_123456",
"query": "搜索查询",
"vector_threshold": 0.8,
"keyword_threshold": 0.6,
"match_count": 15
}
}
{
"tool": "create_session",
"arguments": {
"kb_id": "kb_123456",
"max_rounds": 20,
"enable_rewrite": true,
"fallback_response": "根据现有知识,我无法准确回答您的问题。请尝试重新表述或联系技术支持。"
}
}
--verbose 选项监控性能指标在 Claude Desktop 的配置文件中添加:
{
"mcpServers": {
"weknora": {
"command": "python",
"args": ["path/to/main.py"],
"env": {
"WEKNORA_BASE_URL": "http://localhost:8080/api/v1",
"WEKNORA_API_KEY": "your_api_key"
}
}
}
}
项目仓库: https://github.com/NannaOlympicBroadcast/WeKnoraMCP
参考各客户端的文档,配置服务器启动命令和环境变量。
如果遇到问题:
python main.py --check-only 检查环境python main.py --verbose 查看详细日志