工具基础
  
基础层 孔径堆栈 人工智能工具生态系统。
安装
go get github.com/jonwraymond/toolfoundation包裹
快速开始
定义工具
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许可证-请参阅 许可证
