spoon-tool-development
SKILL.md
Tool Development
Build tools for SpoonOS agents using BaseTool and FastMCP.
Tool Types
| Type | Use Case |
|---|---|
BaseTool |
Local Python tools |
MCPTool |
External MCP servers |
FastMCP |
Build MCP servers |
Quick Start
from spoon_ai.tools.base import BaseTool
from pydantic import Field
class MyTool(BaseTool):
name: str = "my_tool"
description: str = "Tool description"
parameters: dict = Field(default={
"type": "object",
"properties": {
"param": {"type": "string"}
},
"required": ["param"]
})
async def execute(self, param: str) -> str:
return f"Result: {param}"
Scripts
| Script | Purpose |
|---|---|
| base_tool.py | BaseTool implementation |
| mcp_tool.py | MCPTool configuration |
| fastmcp_server.py | FastMCP server |
| tool_manager.py | ToolManager usage |
References
| Reference | Content |
|---|---|
| error_handling.md | Error patterns |
| testing.md | Testing tools |
ToolManager Methods
| Method | Description |
|---|---|
add_tool(tool) |
Add single tool |
remove_tool(name) |
Remove by name |
execute(name, input) |
Execute tool |
to_params() |
Get OpenAI specs |
Best Practices
- Use async for all I/O operations
- Return ToolResult/ToolFailure
- Validate inputs before execution
- Implement proper error handling
- Use environment variables for secrets
Weekly Installs
1
Repository
xspoonai/spoon-…me-skillGitHub Stars
12
First Seen
6 days ago
Security Audits
Installed on
amp1
cline1
openclaw1
opencode1
cursor1
kimi-cli1