Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Kirha Crypto Smithery Gatewayanalyze Bitcoin price trends for the next week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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)
runtime: "container"
startCommand:
type: "http"
configSchema:
type: "object"
properties:
apiKey:
type: "string"
description: "Your API key"
debug:
type: "boolean"
description: "Enable debug logging"
default: false
configPath:
type: "string"
description: "Path to custom configuration file"
required: ["apiKey"]JSON Configuration (config.json)
{
"mcp": {
"name": "kirha-crypto",
"version": "1.0.0"
},
"tool": {
"name": "execute-crypto-tool-planning",
"title": "Crypto Tool Planning",
"description": "Execute crypto-related tool planning",
"enabled": true
},
"vertical": "crypto",
"api": {
"executeToolPlanningUrl": "https://api.kirha.ai/chat/v1/tool-planning/execute",
"summarization": {
"enable": true,
"model": "kirha-flash"
}
}
}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
src/
├── index.ts # Main server entry point
├── types.ts # Type definitions
└── tools/
└── toolPlanning.ts # Tool planning implementationDevelopment
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Start built server
npm startAdding 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:
GET /mcp?apiKey=your-key&debug=trueThis will log:
Configuration loading
Tool registration
Tool execution
Error details