# Smithery

Discover, deploy, and manage MCP servers on Smithery. Browse the registry, manage server deployments, releases, secrets, and team API keys, and run skills.

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y smithery mcp add smithery

# Browse available tools
npx -y smithery tool list smithery

# Get full schema for a tool
npx -y smithery tool get smithery servers.get

# Call a tool
npx -y smithery tool call smithery servers.get '{}'
```

## Direct MCP Connection

Endpoint: `https://smithery.run.tools`

**Required config:**
- `bearer` (query) — Smithery API key as Bearer token

## Tools (46)

- `servers.get` — Retrieve server details including connections, tools, and security status.
- `servers.update` — Create a new server. Idempotent — returns success if the server already exists and is owned by the caller.
- `servers.by_qualified_name.update` — Update server metadata such as display name, description, icon, or visibility.
- `servers.delete` — Permanently delete a server, its releases, and associated resources.
- `servers.releases.list` — List releases ordered by most recent first. Logs are omitted — fetch a specific release to see logs.
- `servers.releases.update` — Submit a release via multipart form. Supports hosted (JS module upload), external (URL), and stdio (MCPB bundle) releas…
- `servers.releases.get` — Retrieve release details including status, git metadata, pipeline logs, and MCP endpoint URL.
- `servers.releases.resume` — Resume a paused release (e.g. after OAuth authorization). Use id='latest' to resume the most recent one.
- `servers.secrets.list` — List secret names. Values are not returned.
- `servers.secrets.update` — Create or update a secret value.
- `servers.secrets.delete` — Remove a secret by name.
- `servers.repo.get` — Get the connected GitHub repository, if one exists.
- `servers.repo.update` — Create or update the GitHub repository connection. Idempotent — updates if a connection already exists.
- `servers.repo.by_qualified_name.update` — Partially update the GitHub repository connection settings. Only provided fields are updated.
- `servers.repo.delete` — Remove the GitHub repository connection.
- `servers.domains.list` — List the domains for a server.
- `servers.domains.update` — Update the managed run.tools slug for a server.
- `servers.list` — Search and browse public MCP servers in the Smithery registry. Supports full-text and semantic search via the `q` param…
- `skills.list` — Search and browse reusable prompt-based skills. Supports full-text and semantic search via the `q` parameter, and filte…
- `skills.get` — Get a single skill by its namespace and slug.
- `skills.update` — Idempotent endpoint to create or update a GitHub-backed skill. Send application/json with `gitUrl`.
- `skills.delete` — Delete a skill by namespace and slug. Requires ownership of the namespace.
- `tokens.create` — Create a service token for machine-to-machine authentication. Accepts API key or bearer token. Optionally apply restric…
- `namespaces.list` — When called without query params, returns the authenticated user's namespaces (backwards compatible). When query params…
- `namespaces.create` — Create a new namespace with a server-generated human-readable name, owned by the authenticated user
- `namespaces.update` — Create a new namespace owned by the authenticated user or an organization. This endpoint is idempotent - if the namespa…
- `namespaces.delete` — Delete a namespace owned by the authenticated user. The namespace must not contain any servers. Skills and connections …
- `organizations.api_keys.list` — Returns all API keys belonging to the organization. Requires admin role. Key values are not included in the response.
- `organizations.api_keys.create` — Creates an API key owned by the organization. Requires admin role.
- `organizations.api_keys.delete` — Deletes an API key belonging to the organization. Requires admin role.
- `connect.subscriptions.by_namespace.list` — List namespace-scoped trigger subscriptions for all connections in the namespace.
- `connect.subscriptions.by_namespace.create` — Create a namespace-scoped subscription that receives events from every connection in the namespace.
- `connect.subscriptions.by_namespace.delete` — Delete a namespace-scoped trigger subscription.
- `connect.triggers.list` — List trigger types exposed by a connection.
- `connect.triggers.by_trigger_name.get` — Get the schema for a single trigger type.
- `connect.triggers.create` — Create a trigger instance for a connection using the trigger's declared params.
- `connect.triggers.get` — Get a specific trigger instance for a connection.
- `connect.triggers.delete` — Delete a trigger instance and deregister its upstream webhook.
- `connect.subscriptions.list` — List trigger subscriptions scoped to a single connection.
- `connect.subscriptions.create` — Create a connection-scoped subscription that receives events from one connection.
- `connect.subscriptions.delete` — Delete a connection-scoped trigger subscription.
- `connect.by_namespace.get` — List all connections in a namespace. Supports filtering by metadata using `metadata.{key}={value}` query params.
- `connect.create` — Create a new MCP connection with an auto-generated ID. Requires API key and namespace ownership.
- `connect.get` — Get details for a specific connection. Requires service token with connections:read scope.
- `connect.update` — Create or update an MCP connection with the given ID. mcpUrl is required when creating a new connection, but optional w…
- `connect.delete` — Delete a connection and terminate its MCP session. Requires API key and namespace ownership.

```bash
# Get full input/output schema for a tool
npx -y smithery tool get smithery <tool-name>
```
