项目简介
Kortx是一款基于Model Context Protocol (MCP) 实现的服务器,旨在为大型语言模型(LLM)客户端(如编程助手)提供统一的上下文信息管理和功能调用接口。它集成了OpenAI的GPT-5系列模型、Perplexity的实时搜索能力,并支持文件内容、Serena、MCP知识图谱和CCLSP等多种上下文源,赋能LLM进行规划、代码改进、问题解决、内容搜索和视觉内容创作。
主要功能点
- 多模型AI工具集成: Kortx集成了OpenAI的GPT-5系列模型('gpt-5'、'gpt-5-mini'、'gpt-5-nano'、'gpt-5-codex')以及Perplexity的Sonar模型,提供强大的语言理解和生成能力。
- 丰富的咨询工具: 内置六种核心咨询工具及一个批量执行器,涵盖软件开发和内容创作的多种场景:
- 'think-about-plan': 对计划和方法提供战略性反馈,分析清晰度、可行性、风险等。
- 'suggest-alternative': 针对现有方法提出替代方案,考虑不同范式、简化方案和权衡。
- 'improve-copy': 优化文本、文档或消息,提升清晰度、简洁性、语气和技术准确性。
- 'solve-problem': 提供调试和问题解决协助,包括根本原因分析、诊断步骤和解决方案。
- 'search-content': 利用Perplexity Sonar模型进行实时网络、学术或SEC搜索,提供带引用的答案和图片搜索。
- 'create-visual': 基于GPT Image生成、编辑或搜索视觉内容,支持图像生成和编辑模式。
- 'batch-consult': 并行运行多个工具调用,聚合返回结果以提高效率。
- 上下文信息聚合: 能够摄取本地文件内容,并可作为连接器连接到Serena(语义代码检索)、MCP知识图谱(项目记忆和决策)和CCLSP(语言服务器协议信息)等外部MCP服务器,以获取更丰富的项目上下文。
- 安全与性能: 内置结构化日志、请求速率限制、响应缓存,并提供加固的Docker镜像以确保安全和可扩展性。
- 灵活配置: 可通过环境变量精细配置OpenAI模型行为、推理强度、详细程度以及API密钥等。
安装步骤
在安装Kortx MCP服务器之前,请确保您的系统已安装Node.js (推荐版本 >= 22.12.0) 和 npm (推荐版本 >= 9)。
- 设置API密钥: Kortx服务器需要OpenAI和Perplexity的API密钥才能运行。请将它们设置为环境变量:
如果您不使用Perplexity搜索或图片搜索模式,可以禁用相关功能,则Perplexity密钥不是强制性的,但默认配置需要。export OPENAI_API_KEY=sk-your-openai-key export PERPLEXITY_API_KEY=pplx-your-perplexity-key - 作为npm包使用 (推荐): Kortx可以通过 'npx' 直接运行,无需本地安装:
如果您希望全局安装,可以运行:npx @effatico/kortx-mcp@latestnpm install -g @effatico/kortx-mcp kortx-mcp - 使用Docker运行 (推荐用于生产环境):
构建Docker镜像:
运行容器(请务必通过环境变量传入API密钥):docker build -t kortx-mcp .
仓库中也提供了 'docker-compose.yml' 示例,用于更持久的运行和卷挂载。docker run -i --rm \ -e OPENAI_API_KEY=$OPENAI_API_KEY \ -e PERPLEXITY_API_KEY=$PERPLEXITY_API_KEY \ kortx-mcp
服务器配置
MCP客户端需要以下配置信息来连接并启动Kortx MCP服务器。以下是一个典型的MCP客户端配置示例,用于通过 'npx' 启动Kortx服务器,并通过环境变量传递API密钥:
{ "mcpServers": { "kortx-mcp": { "command": "npx", "args": ["-y", "@effatico/kortx-mcp@latest"], "env": { "OPENAI_API_KEY": "${OPENAI_API_KEY}", "PERPLEXITY_API_KEY": "${PERPLEXITY_API_KEY}" } } } }
- 'mcpServers': 这是MCP客户端配置中用于定义一个或多个MCP服务器的顶级键。
- 'kortx-mcp': 这是您为Kortx服务器定义的名称,客户端将使用此名称引用该服务器。
- 'command': 指定用于启动Kortx服务器的命令。在此示例中,是 'npx'。
- 'args': 传递给 'command' 的参数列表。'["-y", "@effatico/kortx-mcp@latest"]' 表示使用 'npx' 运行最新版本的 '@effatico/kortx-mcp' 包。
- 'env': 一个对象,用于将环境变量传递给Kortx服务器进程。在这里,它确保Kortx服务器能够访问所需的OpenAI和Perplexity API密钥。
您还可以通过其他环境变量来定制Kortx服务器的行为,例如调整AI模型、开启/关闭缓存或速率限制等。以下是一些常用的环境变量及其默认值:
- 'OPENAI_MODEL': 指定OpenAI模型,可选值包括 'gpt-5'、'gpt-5-mini'、'gpt-5-nano'、'gpt-5-codex'。默认值为 'gpt-5-mini'。
- 'OPENAI_REASONING_EFFORT': 控制AI推理的强度,可选值 'minimal'、'low'、'medium'、'high'。默认值为 'minimal'。
- 'ENABLE_RESPONSE_CACHE': 设置为 'true' 或 'false',决定是否启用响应缓存。默认值为 'true'。
- 'CACHE_MAX_SIZE_MB': 缓存的最大大小(MB)。默认值为 '100'。
- 'ENABLE_RATE_LIMITING': 设置为 'true' 或 'false',决定是否启用请求速率限制。默认值为 'true'。
- 'MAX_REQUESTS_PER_HOUR': 每小时允许的最大请求数。默认值为 '100'。
- 'ENABLE_SERENA', 'ENABLE_MEMORY', 'ENABLE_CCLSP': 这些是布尔值,用于控制是否启用与Serena、MCP知识图谱和CCLSP等MCP服务器的集成。默认都为 'true'。
- 'INCLUDE_FILE_CONTENT': 设置为 'true' 或 'false',决定是否将本地文件内容纳入上下文。默认值为 'true'。 更多详细的配置项请参考仓库中的 '.env.example' 文件。
基本使用方法
一旦Kortx MCP服务器通过上述配置在您的MCP客户端中成功启动,LLM客户端即可通过JSON-RPC协议与之通信。
例如,客户端可以:
-
列出可用工具: 发送 'tools/list' 请求,获取所有Kortx提供的咨询工具及其详细的输入参数SCHEMA。
-
调用工具: 发送 'tools/call' 请求,指定工具名称(如 'think-about-plan', 'solve-problem', 'search-content', 'create-visual' 等)及相应的输入参数。
- 示例: 调用 'think-about-plan' 工具 (规划分析)
客户端向Kortx服务器发送类似以下内容的JSON-RPC请求:
Kortx服务器将执行AI咨询,并返回包含评估、建议和问题的响应。{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "think-about-plan", "arguments": { "plan": "Implement new user authentication with OAuth2.0 and JWT.", "context": "Existing system uses basic auth, need to support SSO and mobile clients." } } } - 示例: 调用 'search-content' 工具 (内容搜索)
客户端发送如下请求进行实时内容搜索:
Kortx将通过Perplexity进行搜索并返回带引用的结果。{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "search-content", "arguments": { "query": "最新的Go语言Web框架性能对比", "model": "sonar-pro", "searchMode": "web" } } } - 示例: 调用 'create-visual' 工具 (生成图片)
客户端发送如下请求来生成一张图片:
Kortx将通过OpenAI的GPT Image模型生成图片,并返回Base64编码的图片数据及相关信息。{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "create-visual", "arguments": { "mode": "generate", "prompt": "A highly detailed futuristic cityscape at sunset with flying cars and holographic advertisements, cyberpunk style." } } }
- 示例: 调用 'think-about-plan' 工具 (规划分析)
客户端向Kortx服务器发送类似以下内容的JSON-RPC请求:
Kortx服务器将根据请求调用相应的AI模型和上下文源,处理逻辑后将结果返回给客户端。
信息
分类
AI与计算