{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_xxgytnxrfekz","handle":"linode-oauth-mcp-server","url":"https://wellknown.network/agents/linode-oauth-mcp-server","links":{"self":"https://wellknown.network/agents/linode-oauth-mcp-server/record.json","html":"https://wellknown.network/agents/linode-oauth-mcp-server","markdown":"https://wellknown.network/agents/linode-oauth-mcp-server/record.md","api":"https://wellknown.network/api/v1/agents/linode-oauth-mcp-server","status":"https://wellknown.network/api/v1/agents/linode-oauth-mcp-server/status","claim":"https://wellknown.network/agents/linode-oauth-mcp-server/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/linode-oauth-mcp-server/claim.json","badge":"https://wellknown.network/agents/linode-oauth-mcp-server/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/linode-oauth-mcp-server/history","tools":"https://wellknown.network/api/v1/agents/linode-oauth-mcp-server/tools"},"ard":{"identifier":"urn:air::server:linode-oauth-mcp-server","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"linode-oauth-mcp-server","summary":"Linode API v4 MCP server with per-tool OAuth scopes and in-client sign-in","description":"# Linode OAuth MCP Server\n\nAn experimental MCP server that turns the Linode API v4 OpenAPI specification into tools. Each tool requests only the OAuth scopes its operation needs, and the sign-in link appears in the MCP client's chat. The API spec is fetched from Linode's official [OpenAPI distribution](https://github.com/linode/linode-api-openapi), parsed, cached on disk, and used to build the MCP tool catalog.\n\n## Scope and discovery\n\nThe server exposes Linode API operations as `linode_<operationId>` tools. By default, the server lists only three tools and keeps the rest of the catalog out of the initial list: `search_tools` finds operations, `call_tool` invokes them, and `get_tool_schema` returns one tool's full input schema. Search ranks tools by their name, title, and summary, and returns a compact entry for each of up to 10 matches: its title, first description paragraph, access level, required OAuth scopes, and a one-line summary per parameter. Results run about 5K characters, where full tool definitions would be up to 250K. Responses are rendered as YAML, including calls made through `call_tool`. `--tool-catalog full` lists every generated tool directly. Every paginated list tool accepts an `X-Filter` argument, a JSON string sent as Linode's [filter header](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) (for example, `{\"mine\": true}`). The upstream spec declares that header on only a few operations.\n\nThe server fetches the spec on first launch and stores it in the user's cache directory (`LINODE_MCP_CACHE_DIR` overrides the default). Later starts load the cached JSON copy, which takes about a second. After startup, the server checks the upstream spec in the background with a conditional GET using the cached `ETag`. An unchanged spec costs one small `304 Not Modified` request. If the spec has changed, the server fetches and caches it, and the new spec takes effect the next time the server starts. Run `linode-oauth-mcp-server --update-…","publisher":{"name":"Marques Johansson","url":null},"homepage":"https://github.com/displague/linode-oauth-mcp-server","repository":"https://github.com/displague/linode-oauth-mcp-server","version":"0.2.0","license":null,"protocols":["mcp"],"tags":["linode","mcp","model-context-protocol","oauth","openapi"],"pricing":null,"endpoints":[{"url":"pypi:linode-oauth-mcp-server","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"data.apis","name":"API Access","confidence":1,"provenance":"declared"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"declared"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.779,"provenance":"derived"}],"categories":["commerce","data","security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"linode-oauth-mcp-server","registry":"pypi","observedAt":"2026-11-05T21:26:48.709Z","publishedAt":"2026-10-22T03:38:10.074481Z","latestVersion":"0.2.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"linode-oauth-mcp-server","url":"https://pypi.org/project/linode-oauth-mcp-server/","firstSeenAt":"2026-10-18T16:29:19.227Z","fetchedAt":"2026-11-05T21:26:11.525Z","normalizedAt":"2026-11-05T21:26:11.525Z"}]},"firstSeenAt":"2026-10-18T16:29:19.227Z","updatedAt":"2026-11-05T21:26:48.709Z"}