{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_kfvsq3kkeyy9","handle":"glean-mcp-proxy","url":"https://wellknown.network/agents/glean-mcp-proxy","links":{"self":"https://wellknown.network/agents/glean-mcp-proxy/record.json","html":"https://wellknown.network/agents/glean-mcp-proxy","markdown":"https://wellknown.network/agents/glean-mcp-proxy/record.md","api":"https://wellknown.network/api/v1/agents/glean-mcp-proxy","status":"https://wellknown.network/api/v1/agents/glean-mcp-proxy/status","claim":"https://wellknown.network/agents/glean-mcp-proxy/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/glean-mcp-proxy/claim.json","badge":"https://wellknown.network/agents/glean-mcp-proxy/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:glean-mcp-proxy","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"glean-mcp-proxy","summary":"Expose OpenAPI endpoints to MCP","description":"# OpenAPI MCP Proxy\n\nA flexible, production-ready proxy that dynamically exposes OpenAPI-described REST APIs as **Model Context Protocol (MCP) tools**. Automatically keep your MCP surface in sync with any REST API without manual tool definitions.\n\n**Author**: David Grimm <david.grimm@wellsfargo.com>\n\n---\n\n## Table of Contents\n\n- [Features](#features)\n- [Quick Start](#quick-start)\n- [Installation](#installation)\n- [Configuration](#configuration)\n  - [TOML Format](#toml-format)\n  - [Server Settings](#server-settings)\n  - [OpenAPI Specs](#openapi-specs)\n  - [Path Parameters](#path-parameters)\n  - [Filtering by HTTP Method](#filtering-by-http-method)\n- [Usage](#usage)\n  - [stdio Transport](#stdio-transport)\n  - [HTTP Transport](#http-transport)\n  - [Framework Selection](#framework-selection)\n  - [Tool Naming and Startup Summary](#tool-naming-and-startup-summary)\n- [Authentication](#authentication)\n  - [Token-Based Authentication](#token-based-authentication)\n  - [OAuth/JWT Authentication](#oauthjwt-authentication)\n  - [Dual-Mode Authentication](#dual-mode-authentication)\n  - [Roles and RBAC](#roles-and-rbac)\n  - [Disabling Authentication](#disabling-authentication)\n- [Architecture](#architecture)\n- [Testing & Coverage](#testing--coverage)\n- [Troubleshooting](#troubleshooting)\n- [Development](#development)\n\n---\n\n## Features\n\n- **Dynamic Tool Generation** — Automatically create MCP tools from OpenAPI specs  \n- **Multi-Spec Support** — Proxy multiple APIs simultaneously  \n- **Dual Transport** — stdio (default) or HTTP with optional HTTPS/TLS  \n- **Framework Flexibility** — FastMCP or Tachyon MCP (configurable)  \n- **Static & OAuth Auth** — Support both static bearer tokens and JWT/OAuth2  \n- **Path Parameter Templating** — Set default values per spec  \n- **HTTP Method Filtering** — Expose only specific methods (GET, POST, etc.)  \n- **Readable Tool Names** — Uses OpenAPI `operationId` when available (with clean fallback naming)  \n- **Startup Tool Summary** — Logs per-spec …","publisher":{"name":"David Grimm","url":null},"homepage":null,"repository":null,"version":"0.1.0","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:glean-mcp-proxy","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"data.apis","name":"API Access","confidence":0.814,"provenance":"derived"}],"categories":["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":"glean-mcp-proxy","registry":"pypi","observedAt":"2026-09-09T16:25:30.244Z","publishedAt":"2026-03-17T21:51:45.430652Z","latestVersion":"0.1.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"glean-mcp-proxy","url":"https://pypi.org/project/glean-mcp-proxy/","firstSeenAt":"2026-09-09T16:24:03.918Z","fetchedAt":"2026-09-09T16:24:03.918Z","normalizedAt":"2026-09-09T16:24:03.918Z"}]},"firstSeenAt":"2026-09-09T16:24:03.918Z","updatedAt":"2026-09-09T16:25:30.244Z"}