Välj din AI-plattform nedan.
Claude Code (rekommenderas, enklast)
Claude Code ansluter direkt till MCP-servern; ingen brygga behövs.
API-adresser:
https://qtrl.me/mcp/sse - MCP via SSE (Claude Code)
https://qtrl.me/mcp - MCP via Streamable HTTP (bryggan och egna klienter)
Snabbtest:
curl -X POST https://qtrl.me/mcp \
-H "Authorization: Bearer YOUR_API_TOKEN_HERE" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Svaret listar verktygen i tabellen ovan. 401 betyder att nyckeln inte stämmer.
Steg 1: Installera Claude Code
npm install -g @anthropic-ai/claude-code
# or
curl -fsSL https://claude.ai/install.sh | sh
Steg 2: Lägg till qtrl.me som MCP-server
claude mcp add --transport sse qtrlme https://qtrl.me/mcp/sse \
--header "Authorization: Bearer YOUR_API_TOKEN_HERE"
Steg 3: Börja prata
Klart. Starta Claude och fråga om dina enheter:
claude
Skriv sedan t.ex.: "Lista mina hubbar"
Claude Desktop (kräver brygga)
Claude Desktop pratar bara med lokala program (stdio), så en liten brygga förmedlar anropen till qtrl.me.
API-adresser:
https://qtrl.me/mcp - MCP via Streamable HTTP (bryggan och egna klienter)
Snabbtest:
curl -X POST https://qtrl.me/mcp \
-H "Authorization: Bearer YOUR_API_TOKEN_HERE" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Svaret listar verktygen i tabellen ovan. 401 betyder att nyckeln inte stämmer.
Steg 1: Ladda ner bryggan
Spara bryggan på en plats där den får ligga kvar:
Steg 2: Konfigurera Claude Desktop
Redigera Claude Desktops konfigurationsfil:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"qtrlme": {
"command": "node",
"args": [
"C:\\qtrlme\\qtrlme-bridge.js",
"https://qtrl.me/mcp",
"YOUR_API_TOKEN_HERE"
]
}
}
}
Obs: Ändra sökvägen till bryggan så att den stämmer med var du sparade den. På macOS/Linux används vanliga snedstreck: /Users/yourname/qtrlme-bridge.js
Steg 3: Starta om Claude Desktop
Avsluta Claude Desktop helt och starta det igen så att konfigurationen läses in.
ChatGPT / OpenAI
API-adresser:
GET https://qtrl.me/api/openai/functions - listar tillgängliga funktioner
POST https://qtrl.me/api/openai/functions/execute - kör en funktion
Snabbtest:
curl https://qtrl.me/api/openai/functions \
-H "Authorization: Bearer YOUR_API_TOKEN_HERE"
Exempel i Python:
import openai
import requests
# Fetch QtrlMe functions
response = requests.get("https://qtrl.me/api/openai/functions",
headers={"Authorization": "Bearer YOUR_TOKEN"})
functions = response.json()["functions"]
# Use with ChatGPT
client = openai.OpenAI(api_key="your_openai_key")
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "List my RF-HUBs"}],
functions=functions
)
Exempel i Node.js:
const OpenAI = require('openai');
const axios = require('axios');
const client = new OpenAI({ apiKey: 'your_openai_key' });
// Fetch QtrlMe functions
const { data } = await axios.get('https://qtrl.me/api/openai/functions', {
headers: { Authorization: 'Bearer YOUR_TOKEN' }
});
// Use with ChatGPT
const response = await client.chat.completions.create({
model: 'gpt-4',
messages: [{ role: 'user', content: 'List my RF-HUBs' }],
functions: data.functions
});
// Handle function call
if (response.choices[0].message.function_call) {
const { name, arguments: args } = response.choices[0].message.function_call;
const result = await axios.post('https://qtrl.me/api/openai/functions/execute',
{ name, arguments: args },
{ headers: { Authorization: 'Bearer YOUR_TOKEN' }}
);
console.log(result.data.content);
}
Autentisering: Alla anrop kräver din API-nyckel som Bearer-token i Authorization-huvudet.
Google Gemini
API-adresser:
GET https://qtrl.me/api/gemini/functions - listar tillgängliga funktioner
POST https://qtrl.me/api/gemini/functions/execute - kör en funktion
Snabbtest:
curl https://qtrl.me/api/gemini/functions \
-H "Authorization: Bearer YOUR_API_TOKEN_HERE"
Exempel i Python:
import google.generativeai as genai
import requests
# Fetch QtrlMe functions
response = requests.get("https://qtrl.me/api/gemini/functions",
headers={"Authorization": "Bearer YOUR_TOKEN"})
functions = response.json()["functionDeclarations"]
# Use with Gemini
genai.configure(api_key="your_gemini_key")
model = genai.GenerativeModel(
model_name="gemini-pro",
tools=[{"function_declarations": functions}]
)
chat = model.start_chat()
response = chat.send_message("List my RF-HUBs")
Exempel i Node.js:
const { GoogleGenerativeAI } = require('@google/generative-ai');
const axios = require('axios');
const genAI = new GoogleGenerativeAI('your_gemini_key');
// Fetch QtrlMe functions
const { data } = await axios.get('https://qtrl.me/api/gemini/functions', {
headers: { Authorization: 'Bearer YOUR_TOKEN' }
});
// Use with Gemini
const model = genAI.getGenerativeModel({
model: 'gemini-pro',
tools: [{ functionDeclarations: data.functionDeclarations }]
});
const chat = model.startChat();
const result = await chat.sendMessage('List my RF-HUBs');
// Handle function call
const call = result.response.functionCalls()?.[0];
if (call) {
const executeResult = await axios.post(
'https://qtrl.me/api/gemini/functions/execute',
{ name: call.name, args: call.args },
{ headers: { Authorization: 'Bearer YOUR_TOKEN' }}
);
console.log(executeResult.data.response);
}
Autentisering: Alla anrop kräver din API-nyckel som Bearer-token i Authorization-huvudet.