mcp记事摘要
这个基于 TypeScript 的服务器实现了一个简单的笔记系统,允许用户创建和管理文本笔记并生成摘要,展示了核心的 MCP 概念。
服务介绍
systemprompt-agent-server
这是一个专门的模型上下文协议 (MCP) 服务器,通过强大的提示和工具管理系统使您能够创建、管理和扩展 AI 代理。该服务器与 systemprompt.io 集成,通过 MCP 提供无缝的系统提示创建、管理和版本控制。
使用此服务器需要 API 密钥。目前这是免费的,尽管未来可能会发生变化。您可以在这里获取一个密钥:这里。
该服务器使用来自 @modelcontextprotocol/sdk 的采样和通知功能。这仅适用于支持这些功能的高级客户端。可以使用免费开源客户端 multimodal-mcp-client 来提供完整的语音驱动 AI 工作流解决方案。
所需客户端
此服务器设计用于与 multimodal-mcp-client 一起工作——这是一个提供前端界面的语音驱动 MCP 客户端。请确保设置这两个组件以实现完整功能。
为什么使用此服务器?
- 代理管理:使用自定义的系统提示和工具配置来创建和管理 AI 代理
- 可扩展的工具系统:通过 MCP 添加、修改和组合工具以增强您的代理能力
- 提示管理:具有版本控制和元数据支持的集中式系统提示管理
- 类型安全集成:完全支持 TypeScript 并具有适当的错误处理
- MCP 兼容性:与 multimodal-mcp-client 和其他 MCP 兼容客户端无缝协作
- 开源:在 MIT 许可下免费使用和修改
功能
核心功能
- MCP 协议集成:完全实现 Model Context Protocol 以实现无缝的 AI 代理交互
- 语音驱动界面:通过 multimodal-mcp-client 支持语音命令
- 实时处理:支持流响应和实时交互
- 类型安全实现:完全支持 TypeScript 并具有适当的错误处理
代理管理
- 创建并配置具有特定功能的AI代理
- 管理代理状态和上下文
- 通过系统提示定义代理行为
- 监控和调试代理交互
- 代理配置的版本控制
- 代理资产的资源管理
高级工具系统
内置工具包括:
- 提示管理
create_prompt- 创建带有元数据的新系统提示edit_prompt- 使用版本控制更新现有系统提示get_prompt- 检索特定的提示配置
- 资源管理
create_resource- 创建新的代理资源和配置edit_resource- 修改现有的代理资源list_resources- 浏览可用的代理资源read_resource- 访问特定代理资源内容
- 系统工具
systemprompt_heartbeat- 监控系统状态和健康状况systemprompt_fetch_resources- 检索所有可用资源
- 代理管理
create_agent- 创建新的系统提示代理edit_agent- 修改现有的系统提示代理list_agents- 查看可用的系统提示代理
采样与通知
- 高级AI响应采样能力
- 代理事件实时通知系统
- 可配置的采样参数
- 基于事件驱动架构的通知
集成特性
- API密钥管理和身份验证
- 用户状态和账单信息跟踪
- 订阅管理
- 使用监控和分析
开发工具
- 内置调试功能
- 测试工具和夹具
- 类型安全的模拟工具
- 全面的测试框架
🎥 演示与展示
观看我们的视频演示,了解Systemprompt MCP Client的实际应用:
该演示展示了:
- 语音控制的AI交互
- 多模式输入处理
- 工具执行和工作流自动化
- 实时语音合成
开发
安装依赖项:
npm install
构建服务器:
npm run build
开发时自动重建:
npm run watch
安装
通过Smithery安装
要通过Smithery自动安装SystemPrompt Agent for Claude Desktop:
npx -y @smithery/cli install systemprompt-agent-server --client claude
手动安装
要手动配置Claude Desktop,请添加服务器配置:
在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json
在Windows上: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"systemprompt-agent-server": {
"command": "/path/to/systemprompt-agent-server/build/index.js"
}
}
}
调试
由于MCP服务器通过stdio通信,调试可能具有挑战性。我们推荐使用MCP Inspector,它作为包脚本提供:
npm run inspector
Inspector将提供一个URL,以便您在浏览器中访问调试工具。
测试
此项目使用Jest进行测试,并支持TypeScript和ESM(ECMAScript模块)。
测试配置
测试设置包括:
- 完全支持使用 ESM 模块的 TypeScript
- 全局 fetch 模拟
- 自动在运行之间重置测试
- 用于验证的自定义匹配器
- 类型安全的模拟工具
模块解析
该项目使用双重模块解析策略:
- 源代码使用带有
.js扩展名的 ESM(ECMAScript 模块) - 测试使用 CommonJS 以兼容 Jest
这是通过两个 TypeScript 配置实现的:
tsconfig.json:源代码的主要配置(ESM)tsconfig.test.json:特定于测试的配置(CommonJS)
// Source code imports (ESM)
import { Something } from "../path/to/module.js";
// Test file imports (CommonJS)
import { Something } from "../path/to/module";
运行测试
# Run tests
npm test
# Watch mode
npm run test:watch
# Coverage report
npm run test:coverage
测试结构
测试位于它们所测试文件旁边的 __tests__ 目录中。命名约定是 *.test.ts。
相关链接
- Multimodal MCP Client - 基于语音的 MCP 客户端
- systemprompt.io 文档