Connect in 5 minutes.
This guide covers everything from account creation to your first successful tools/call.
Create a free account
Go to /signup. The free tier gives you the Oski Starter Pak and Lifeskills — no credit card required.
Generate an MCP token
Open your SkiLodge and click Generate token. Copy the token — it is shown once. Store it in your password manager or the environment variable your AI client reads.
sk_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6Add the endpoint to your AI client
Replace sk_YOUR_TOKEN_HERE with your real token in the config below.
{
"mcpServers": {
"skilski": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"],
"env": {
"MCP_URL": "https://skill.ski/api/mcp",
"MCP_TOKEN": "sk_YOUR_TOKEN_HERE"
}
}
}
}{
"mcpServers": {
"skilski": {
"url": "https://skill.ski/api/mcp",
"headers": {
"Authorization": "Bearer sk_YOUR_TOKEN_HERE"
}
}
}
}POST https://skill.ski/api/mcp
Authorization: Bearer sk_YOUR_TOKEN_HERE
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": { "name": "my-agent", "version": "1.0.0" }
}
}For Claude Desktop: restart the app after saving the config. For Cursor: reload the window. The server will appear in the MCP panel once the connection succeeds.
List available skills
Send a tools/list request to see every Skilski your account has access to. The response includes names, descriptions, and input schemas.
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}{
"jsonrpc": "2.0",
"id": 2,
"result": {
"tools": [
{
"name": "hvac-dispatch-scheduler",
"description": "Schedules and prioritizes HVAC service dispatch orders by urgency, technician availability, and travel zone. Returns a ranked call list with ETAs.",
"inputSchema": {
"type": "object",
"properties": {
"context": { "type": "string", "description": "Job details, location, and urgency level" }
},
"required": ["context"]
}
}
]
}
}Call a skill
Use tools/call with the tool name and a natural-language context argument. The skill returns a content array with text output.
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "hvac-dispatch-scheduler",
"arguments": {
"context": "3 open tickets: downtown AC no-cool (urgent), suburb heat pump check (standard), airport HVAC filter swap (low). 2 techs available."
}
}
}{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "Dispatch priority queue:\n\n1. Downtown AC no-cool — assign Tech A, ETA 45 min (urgent: residential comfort)\n2. Airport HVAC filter swap — assign Tech B, ETA 1.5 hr (compliance deadline today)\n3. Suburb heat pump check — next morning slot (standard, non-urgent)\n\nRationale: Airport job elevated to #2 due to regulatory compliance window."
}
],
"isError": false
}
}Your AI client will use this response to continue the conversation. Most clients display the text output inline and can follow up with additional tool calls automatically.