servers
Get a server
Retrieve server details including connections, tools, and security status.
GET
/
servers
/
{qualifiedName}
JavaScript
import Smithery from '@smithery/api';
const client = new Smithery({
apiKey: process.env['SMITHERY_API_KEY'], // This is the default and can be omitted
});
const server = await client.servers.get('qualifiedName');
console.log(server.connections);curl --request GET \
--url https://api.smithery.ai/servers/{qualifiedName} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.smithery.ai/servers/{qualifiedName}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.smithery.ai/servers/{qualifiedName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.smithery.ai/servers/{qualifiedName}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.smithery.ai/servers/{qualifiedName}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smithery.ai/servers/{qualifiedName}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"qualifiedName": "smithery/hello-world",
"displayName": "Hello World",
"description": "A simple hello world server",
"iconUrl": "https://example.com/icon.png",
"remote": true,
"deploymentUrl": "https://api.example.com",
"connections": [
{
"type": "<string>",
"bundleUrl": "<string>",
"configSchema": {}
}
],
"security": {
"scanPassed": true
},
"tools": [
{
"name": "get_weather",
"description": "Get current weather",
"inputSchema": {
"type": "<string>",
"properties": {}
},
"outputSchema": {
"type": "<string>",
"properties": {},
"required": [
"<string>"
]
}
}
],
"resources": [
{
"name": "config://settings",
"uri": "config://app/settings",
"description": "Application settings",
"mimeType": "application/json"
}
],
"prompts": [
{
"name": "summarize",
"description": "Summarize the given text",
"arguments": [
{
"name": "text",
"description": "The text to summarize",
"required": true
}
]
}
]
}{
"error": "Server not found"
}Authorizations
Smithery API key as Bearer token
Path Parameters
The server's qualified name (e.g. 'namespace/server' or 'namespace' for namespace-only servers). Use %2F to encode the slash.
Response
Server found
Example:
"smithery/hello-world"
Example:
"Hello World"
Example:
"A simple hello world server"
Example:
"https://example.com/icon.png"
Example:
true
Example:
"https://api.example.com"
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
Previous
Create a serverCreate a new server. Idempotent — returns success if the server already exists and is owned by the caller.
Next
⌘I
JavaScript
import Smithery from '@smithery/api';
const client = new Smithery({
apiKey: process.env['SMITHERY_API_KEY'], // This is the default and can be omitted
});
const server = await client.servers.get('qualifiedName');
console.log(server.connections);curl --request GET \
--url https://api.smithery.ai/servers/{qualifiedName} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.smithery.ai/servers/{qualifiedName}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.smithery.ai/servers/{qualifiedName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.smithery.ai/servers/{qualifiedName}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.smithery.ai/servers/{qualifiedName}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smithery.ai/servers/{qualifiedName}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"qualifiedName": "smithery/hello-world",
"displayName": "Hello World",
"description": "A simple hello world server",
"iconUrl": "https://example.com/icon.png",
"remote": true,
"deploymentUrl": "https://api.example.com",
"connections": [
{
"type": "<string>",
"bundleUrl": "<string>",
"configSchema": {}
}
],
"security": {
"scanPassed": true
},
"tools": [
{
"name": "get_weather",
"description": "Get current weather",
"inputSchema": {
"type": "<string>",
"properties": {}
},
"outputSchema": {
"type": "<string>",
"properties": {},
"required": [
"<string>"
]
}
}
],
"resources": [
{
"name": "config://settings",
"uri": "config://app/settings",
"description": "Application settings",
"mimeType": "application/json"
}
],
"prompts": [
{
"name": "summarize",
"description": "Summarize the given text",
"arguments": [
{
"name": "text",
"description": "The text to summarize",
"required": true
}
]
}
]
}{
"error": "Server not found"
}