Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,526Letters: 13Defects: 1,322counted 4 min ago
teppi

Server definition

Hash
sha256:250ae3582ce3313eafd692e31f9d1ebe37e40da9b463cb4b971c28b963dade30
What it is
What a remote MCP server returned when asked what it offers: 22 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Authorize or de-authorize a device (only relevant when device approval is enabled for the tailnet). Tailscale REST: POST /device/{deviceId}/authorized.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "authorized": { "description": "True to authorize the device into the tailnet, false to de-authorize it.", "type": "boolean" }, "deviceId": { "description": "The device id.", "type": "string" } }, "required": [ "deviceId", "authorized" ], "type": "object" }, "name": "tailscale_authorize_device", "outputSchema": null }, { "description": "Create a new auth key for the tailnet (used to register new devices). Tailscale REST: POST /tailnet/{tailnet}/keys.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "description": { "description": "A short description for the key.", "type": "string" }, "ephemeral": { "description": "If true, devices registered with this key are ephemeral (removed shortly after going offline).", "type": "boolean" }, "expirySeconds": { "description": "Key lifetime in seconds; 0 means no expiry (if allowed by tailnet policy).", "type": "number" }, "preauthorized": { "description": "If true, devices registered with this key are pre-authorized (skip device approval).", "type": "boolean" }, "reusable": { "description": "If true, the key can register multiple devices.", "type": "boolean" }, "tags": { "description": "ACL tags to apply to devices created with this key, e.g. [\"tag:ci\"].", "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "name": "tailscale_create_auth_key", "outputSchema": null }, { "description": "Delete a device, removing it from the tailnet. Tailscale REST: DELETE /device/{deviceId}.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "deviceId": { "description": "The device id to delete.", "type": "string" } }, "required": [ "deviceId" ], "type": "object" }, "name": "tailscale_delete_device", "outputSchema": null }, { "description": "Delete (revoke) an auth key or API access token by id — a security response. Tailscale REST: DELETE /tailnet/{tailnet}/keys/{keyId}.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "keyId": { "description": "The key id to delete.", "type": "string" } }, "required": [ "keyId" ], "type": "object" }, "name": "tailscale_delete_key", "outputSchema": null }, { "description": "Expire a device's node key, forcing it to re-authenticate — a security response to a compromised or lost device. Tailscale REST: POST /device/{deviceId}/expire.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "deviceId": { "description": "The device id.", "type": "string" } }, "required": [ "deviceId" ], "type": "object" }, "name": "tailscale_expire_device_key", "outputSchema": null }, { "description": "Get a single device by id. Tailscale REST: GET /device/{deviceId}.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "deviceId": { "description": "The device id.", "type": "string" }, "fields": { "description": "Field set — 'all' returns all fields incl. posture attributes and routes; 'default' is the standard subset.", "enum": [ "default", "all" ], "type": "string" } }, "required": [ "deviceId" ], "type": "object" }, "name": "tailscale_get_device", "outputSchema": null }, { "description": "Get the tailnet's DNS preferences (e.g. whether MagicDNS is enabled). Tailscale REST: GET /tailnet/{tailnet}/dns/preferences.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "tailscale_get_dns_preferences", "outputSchema": null }, { "description": "Get details of a single auth key / API access token by id (capabilities, expiry, usage). Tailscale REST: GET /tailnet/{tailnet}/keys/{keyId}.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "keyId": { "description": "The key id.", "type": "string" } }, "required": [ "keyId" ], "type": "object" }, "name": "tailscale_get_key", "outputSchema": null }, { "description": "Get the tailnet's ACL / policy file (returned as JSON via the Accept header, not HuJSON). Tailscale REST: GET /tailnet/{tailnet}/acl.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "details": { "description": "If true, include metadata about the policy file (e.g. when and by whom it was last updated).", "type": "boolean" } }, "type": "object" }, "name": "tailscale_get_policy_file", "outputSchema": null }, { "description": "Get the tailnet's split-DNS configuration — a map of domain → nameservers. Tailscale REST: GET /tailnet/{tailnet}/dns/split-dns.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "tailscale_get_split_dns", "outputSchema": null }, { "description": "Get the tailnet's settings (device approval, key expiry, posture, etc.). Tailscale REST: GET /tailnet/{tailnet}/settings.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "tailscale_get_tailnet_settings", "outputSchema": null }, { "description": "Get a single user by id. Tailscale REST: GET /users/{userId}.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "userId": { "description": "The user id.", "type": "string" } }, "required": [ "userId" ], "type": "object" }, "name": "tailscale_get_user", "outputSchema": null }, { "description": "List the subnet routes a device advertises and which are enabled. Tailscale REST: GET /device/{deviceId}/routes.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "deviceId": { "description": "The device id.", "type": "string" } }, "required": [ "deviceId" ], "type": "object" }, "name": "tailscale_list_device_routes", "outputSchema": null }, { "description": "List all devices in the tailnet (name, addresses, OS, last seen, tags, etc.). Tailscale REST: GET /tailnet/{tailnet}/devices.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "fields": { "description": "Field set — 'all' returns all fields incl. posture attributes and routes; 'default' is the standard subset.", "enum": [ "default", "all" ], "type": "string" } }, "type": "object" }, "name": "tailscale_list_devices", "outputSchema": null }, { "description": "List the global DNS nameservers configured for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/dns/nameservers.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "tailscale_list_dns_nameservers", "outputSchema": null }, { "description": "List the DNS search paths (search domains) configured for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/dns/searchpaths.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "tailscale_list_dns_searchpaths", "outputSchema": null }, { "description": "List auth keys and API access tokens for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/keys.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "all": { "description": "If true, returns all keys, tokens and OAuth clients in the tailnet, not just the caller's own (requires appropriate scope). Default false.", "type": "boolean" } }, "type": "object" }, "name": "tailscale_list_keys", "outputSchema": null }, { "description": "List users of the tailnet, optionally filtered by type, role or status. Tailscale REST: GET /tailnet/{tailnet}/users.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "role": { "description": "Filter by role, e.g. owner, admin, member, it-admin, network-admin, billing-admin, auditor.", "type": "string" }, "status": { "description": "Filter by user status.", "enum": [ "all", "active", "idle", "suspended", "needs-approval", "over-billing-limit" ], "type": "string" }, "type": { "description": "Filter by user type.", "enum": [ "all", "member", "shared", "invited" ], "type": "string" } }, "type": "object" }, "name": "tailscale_list_users", "outputSchema": null }, { "description": "List the webhook endpoints configured for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/webhooks.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "tailscale_list_webhooks", "outputSchema": null }, { "description": "Set (rename) a device's name. Tailscale REST: POST /device/{deviceId}/name.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "deviceId": { "description": "The device id.", "type": "string" }, "name": { "description": "The new device name.", "type": "string" } }, "required": [ "deviceId", "name" ], "type": "object" }, "name": "tailscale_set_device_name", "outputSchema": null }, { "description": "Set the subnet routes ENABLED for a device (from the routes it advertises). REPLACES the enabled set. Tailscale REST: POST /device/{deviceId}/routes.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "deviceId": { "description": "The device id.", "type": "string" }, "routes": { "description": "The set of subnet routes (CIDRs) to ENABLE for this device, e.g. [\"10.0.0.0/24\"]. REPLACES the enabled set.", "items": { "type": "string" }, "type": "array" } }, "required": [ "deviceId", "routes" ], "type": "object" }, "name": "tailscale_set_device_routes", "outputSchema": null }, { "description": "Set a device's ACL tags. REPLACES the device's existing tags. Tailscale REST: POST /device/{deviceId}/tags.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "deviceId": { "description": "The device id.", "type": "string" }, "tags": { "description": "ACL tags to apply, e.g. [\"tag:server\"]. REPLACES the device's existing tags.", "items": { "type": "string" }, "type": "array" } }, "required": [ "deviceId", "tags" ], "type": "object" }, "name": "tailscale_set_device_tags", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:250ae3582ce3313eafd692e31f9d1ebe37e40da9b463cb4b971c28b963dade30 | sha256sum