smithery.ai

spoon-tool-development

Develop tools for SpoonOS agents. Use when creating custom tools, MCP servers, toolkit extensions, or configuring tool managers.

First seen Apr 17, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,820 B
  • docs SUMMARY.md 158 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

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
[basetool.py](scripts/basetool.py) BaseTool implementation
[mcptool.py](scripts/mcptool.py) MCPTool configuration
[fastmcpserver.py](scripts/fastmcpserver.py) FastMCP server
[toolmanager.py](scripts/toolmanager.py) ToolManager usage

References

Reference Content
[errorhandling.md](references/errorhandling.md) Error patterns
[testing.md](references/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

  1. Use async for all I/O operations
  2. Return ToolResult/ToolFailure
  3. Validate inputs before execution
  4. Implement proper error handling
  5. Use environment variables for secrets