Kirha Smithery Gateway
JSON Configuration: Easily configure tools, verticals, and API endpoints
Dynamic Tool Registration: Tools are registered based on configuration
Session-Based API Keys: Each session gets its own API key for secure tool execution
Debug Mode: Optional debug logging for development
Modular Architecture: Clean separation of concerns with tools in separate files
Configuration
Environment Configuration (smithery.yaml)
JSON Configuration (config.json)
Creating Forks
To create a fork for a different vertical:
Copy
config.example.jsontoconfig.jsonUpdate the configuration:
Change
mcp.nameto your vertical nameUpdate
verticalto your vertical IDModify
toolobject with your specific toolUpdate
tool.name,tool.title, andtool.description
Project Structure
Development
Adding New Tools
Create a new file in
src/tools/(e.g.,newTool.ts)Implement the tool registration function following the
ToolRegistrationFunctiontypeAdd the tool to the
availableToolsmapping insrc/index.tsUpdate your
config.jsonto include the new tool
Session Management
Each client connection gets its own API key from Smithery
Configuration is bound at connection time
Tools have access to session-specific configuration
API keys are securely passed to tool execution functions
Debug Mode
Enable debug mode by setting debug: true in the session configuration:
This will log:
Configuration loading
Tool registration
Tool execution
Error details
This server cannot be installed