使用说明
工具基础
基础层 孔径堆栈 人工智能工具生态系统。
安装
go get github.com/jonwraymond/toolfoundation
包裹
| 包装 | 描述 |
|---|---|
model |
规范MCP工具模式定义和验证 |
adapter |
协议无关工具格式转换(MCP、OpenAI、Anthropic) |
version |
语义版本控制、约束、兼容性矩阵 |
快速开始
定义工具
import (
"github.com/jonwraymond/toolfoundation/model"
"github.com/modelcontextprotocol/go-sdk/mcp"
)
tool := model.Tool{
Namespace: "github",
Tool: mcp.Tool{
Name: "list_repos",
Description: "List repositories for a user",
InputSchema: map[string]any{
"type": "object",
"properties": map[string]any{
"username": map[string]any{"type": "string"},
},
"required": []string{"username"},
},
},
Version: "1.0.0",
}
if err := tool.Validate(); err != nil {
log.Fatal(err)
}
在格式之间转换
import "github.com/jonwraymond/toolfoundation/adapter"
registry := adapter.DefaultRegistry()
// Convert MCP tool to OpenAI format
result, err := registry.Convert(tool, "mcp", "openai")
if err != nil {
log.Fatal(err)
}
// Check for feature loss warnings
for _, w := range result.Warnings {
log.Printf("Warning: %s", w)
}
openaiTool := result.Tool.(*adapter.OpenAITool)
版本约束
import "github.com/jonwraymond/toolfoundation/version"
v := version.MustParse("1.5.0")
constraint, _ := version.ParseConstraint("^1.0.0")
if constraint.Check(v) {
fmt.Println("Version is compatible")
}
文档
特性
- MCP对齐:工具类型嵌入官方MCP SDK类型
- 协议无关:在MCP、OpenAI和Anthropic格式之间转换
- 特征丢失可见性:当目标格式缺少源功能时发出警告
- JSON模式验证:内置模式验证(2020-12和draft-07)
- 最小依赖性:具有最小外部依赖性的基础层
许可证
MIT许可证-请参阅 许可证
