编解码器 mcp 方案
 
kodegen生态系统的轻量级MCP(模型上下文协议)工具模式定义。
概述
kodegen_mcp_schema 为AI代理工具和交互提供类型安全的模式定义。该库作为所有工具模式的唯一真实来源,具有最小的依赖性和最大的可重用性。
设计理念:只有架构的库,没有重依赖关系。仅包含使用的Args和PromptArgs类型定义 serde, schemars,以及 serde_json.
安装
将此添加到您的 Cargo.toml:
[dependencies]
kodegen_mcp_schema = "0.1.0"或者直接从存储库安装:
[dependencies]
kodegen_mcp_schema = { git = "https://github.com/cyrup-ai/kodegen-mcp-schema" }特性
综合工具架构
- 文件系统 -文件操作、搜索、目录管理
- 终端 -命令执行和过程控制
- Git -版本控制操作(init、commit、branch、worktree)
- GitHub -问题、PR、代码搜索、安全扫描
- 浏览器 -Web自动化、研究会议、基于代理的浏览
- 数据库 -模式检查、SQL执行、连接池
- 克劳德代理人 -具有记忆和推理能力的多智能体生成
- Web剪贴 -爬行、内容提取、搜索索引
- 推理 -顺序思维、MCTS、波束搜索策略
- 提示 -模板管理和渲染
- 内省 -使用统计数据和工具调用历史记录
类型安全模式
所有模式都使用Rust的类型系统:
- 通过以下方式生成JSON模式
schemars - Serde序列化/反序列化
- 约束的验证属性
- 全面的文件
用法
use kodegen_mcp_schema::{ReadFileArgs, StartSearchArgs, SearchType};
// File reading with optional pagination
let read_args = ReadFileArgs {
path: "/path/to/file.txt".to_string(),
offset: 0,
length: Some(100),
is_url: false,
};
// Advanced file search
let search_args = StartSearchArgs {
path: "/project".to_string(),
pattern: "TODO".to_string(),
search_type: SearchType::Content,
file_pattern: Some("*.rs".to_string()),
max_results: Some(100),
..Default::default()
};
// GitHub operations
use kodegen_mcp_schema::{CreateIssueArgs, SearchCodeArgs};
let issue = CreateIssueArgs {
owner: "cyrup-ai".to_string(),
repo: "kodegen-mcp-schema".to_string(),
title: "Bug report".to_string(),
body: Some("Description here".to_string()),
labels: Some(vec!["bug".to_string()]),
assignees: None,
};模式模式
每个工具都遵循两种主要类型的一致模式:
XxxArgs-工具执行的运行时参数XxxPromptArgs-生成上下文提示的参数
例子:
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct ReadFileArgs {
pub path: String,
#[serde(default)]
pub offset: i64,
#[serde(default)]
pub length: Option,
}发展
先决条件
- 锈蚀夜间工具链
- 组件:防锈、防夹
构建和测试
# Build the library
cargo build
# Run tests
cargo test
# Run clippy linter
cargo clippy
# Format code
cargo fmt
# Check without building
cargo check建筑
模块组织
该库被组织成特定领域的模块:
src/
├── lib.rs # Re-exports all types
├── filesystem.rs # File operations and search
├── terminal.rs # Process and command execution
├── git.rs # Git operations
├── github.rs # GitHub API interactions
├── browser.rs # Browser automation
├── citescrape.rs # Web crawling
├── database.rs # Database operations
├── claude_agent.rs # Agent spawning and memory
├── reasoning.rs # AI reasoning tools
├── prompt.rs # Template management
├── config.rs # Configuration
├── process.rs # System processes
└── introspection.rs # Usage statistics基于会话的模式
有几个工具使用异步会话模式进行长时间运行的操作:
- 浏览器研究:
start_browser_research→get_research_status→get_research_result - 文件搜索:
start_search→get_search_results→stop_search - 网络爬虫:
scrape_url→scrape_check_results→scrape_search_results - 终端命令:
start_terminal_command→read_terminal_output→send_terminal_input - 克劳德特工:
spawn_claude_agent→read_claude_agent_output→send_claude_agent_prompt
高级功能
强大的搜索功能
文件系统搜索工具支持:
- 多种搜索模式(文件、内容)
- 正则表达式引擎(Rust、PCRE2)
- 案例模式(敏感、不敏感、智能)
- 边界匹配(字、行)
- 输出格式(完整、仅文件、按文件计数)
- 排序、预处理和压缩处理
克劳德特工记忆
用于持久代理知识的记忆工具:
- 记忆 -将信息存储在命名库中
- 召回 -跨记忆的语义搜索
- 列出库 -查看可用内存存储
- 检查状态 -监控异步记忆
贡献
欢迎投稿!请确保:
- 代码遵循现有模式(Args/PromptArgs结构)
- 所有类型都派生所需的特征(调试、克隆、序列化、反序列化、JsonSchema)
- 使用
#[serde(default)]用于具有默认值的可选字段 - 添加全面的文档
- 跑
cargo fmt和cargo clippy提交前
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
链接
- 仓库:
- 问题:
- 模型上下文协议: 模型上下文协议.io
关键词
ai, ml, agents, candle, inference, mcp, schemas, tools, automation
