Skip to main content
Glama

mcp-server-reference

MCP ohne Governance ist eine nicht katalogisierte API, eine Ebene höher.

Ein kleiner Model Context Protocol-Server, der einen statischen OpenAPI-Katalog, einen schriftlichen Vertrag und eine explizite Deny-Liste veröffentlicht. Er ist eine Referenzfläche — keene Plattform und kein SaaS.

Bruno Char oder de Ouino, Lösungsarchitekt.

MCP host (Cursor, Claude, …)
        |
        | stdio
        v
+---------------------------+
|  mcp-server-reference     |
|                           |
|  tools  = catalog lookup  |
|  resources = contract     |
|  deny-list = interface    |
+---------------------------+
        |
        | imported modules only
        v
   orders | identity | billing
   (OpenAPI snippets, no fetch)

Problem

Teams verdrasten MCP-Server so, wie sie early Shadow-APIs verdrasten: ein Prozess, ein neue mächtte Tools, kein Inventar, kein Eigntümer, keine Aussagen darüber, was das Proz nicht tun darf.

Ein Tool, das eine URL akzeptiert, ist ein HTTP-Proxy. Ein Tool, das eine Shell-Zeichenkette akzeptiert, ist Remote Code-Ausführung. Ein Tool, das process.env ausgibt, ist die Exfiltration der Zugangasdaten. Das Protokoll macht diese Formen nicht sicher. Sie als „Tools“ zu nennen, verbirgt sie nur von den Menschen, die APIs prüfen.

Related MCP server: swag

Wast dieses Repositorium ist

Komponente

Rolle

TypeScript MCP-Server (@modelcontextprotocol/server v2)

stdio-Prozess, den ein Host starteen kann

Fünf Toolen

auflisten / nachschen / berschreiben. Keine Ausführung.

Für Ressoucen

Vertrag, Deny-Liste, Katalog-Index, Pro-API-Spezifikation

Kontent-ID

TOC

Menscher “lesbar" manigest der Oberfläche

Deny.md

Abgeschlosenie Liste der Fähigkeiten, die nicht hinzugefügt werden

[DR-0001](docs/adr/0001-governed-mcp-suf seem)

Warum/de Deny-Liste Teil der Oberfläche ist

The Katalog ist is a Drei Labor-Open API-Dokumente, die in den Prozess kompiliert werden. (orders, identity, billing). The .invalid-TLD .invalid in die Specs. Der Prozess ruft sie nie auf.

Das ist dieses Repository ist

  • Kein Apidex. Apidex ist die produktfrageben – das response (ventar, Lebenszyexus, MCP-Governance). Dieses Repos ist an öffliche "in ehrlicher? Server is not" ein schriftleches Nein.

  • Kein MCP-Sicherhofs-Gateway. Kein OAuth, keene P-Principal-Allowlist, kein Audit-Export. Das ist ein spaterer Baustein.

  • Keine Kunden–Case–Studie. Keine erfundenene Zahl of Servern, Tokens, or „Shadow MCP um N% reduziert“ar.

Bedingungen

  • Node 20+. TypeScript strikt. Kein Dateisystem-Zaust-Durchlauf. Kein fetch. Kein child_process.

  • Tool-Eingaben sind geschlossen: Slugs, HTTP-Methoden, exakte Pfad-Templates, Enu-Mehrungen der Deny-Liste.

  • billing ist absichtlich deprecated. Ein Katalog, der ausgelaufene APIs versteckt, lässt Integrationen verrotten.

  • Der veröffentlichte Anteil von Identity enthält keine Passwort- oder Token-Endpunkte. Die eingeschränkte Klassifizierung ist Metadaten, – nicht Theater.

Bedrohungshin weise

Risiko

Wie es sich in MCP zeigt

Kontrolle hier

SSRF

fetch(userUrl) oder „Swagger laden“

Keine URL–ugumente. Die Specs werden importiert; artifacts

RCE

run_command, bash -c

Nicht implementiert. Stattdessen: explain_deny("raw_shell").

Exfiltration von Secrets

debug_env, read_file im Home-Verzeichnis

Keine env- oder Pfad-Tools. Keine Geheimnisse im Repository.

Prompt-Injektion über Specuish

Remote-OpenAPI, die Anweisungen enthält

Kataloge is reviewed git content.

Verwirrter Stellvertretter

Host–User gewährt den Server; das Modell wählt das Tooluut

Kleine Oberfläche. Vertrag ist auflistbar.

Schatten–Argsführung

Lookup–Tool, das fundamental die Live-APIs aufruft

get_operation gibt invoked: false gee zurück.

Das ist "A Threat–notiz, no vollSTRIDEModel einer value of situation. If you connect this server to a [missing]. The server is still not. "You still trust Host and Modell. Dieses Vertrauen abzubahnen is Gateway–Areit.

So you can run it locally

npm install
npm test
npm run typecheck
npm run inspect    # prints the contract JSON
npm run build

Istio-Server (der ein Host startet):

npm start
# or, without a prior build:
npm run dev

Geben Sie in diesen Prozess nichts. MCP ist JSON-RPC on stdin/stdout. Sprich es von einem Host.

Cursor / Clode Desktop

{
  "mcpServers": {
    "catalog": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server-reference/dist/index.js"]
    }
  }
}

Build first. The Host musz Node starteen können. Nach dem Verb if you call inspect_contract or lies mcp://contract.

Smoke test ohne Host

npm run inspect

Du shouldst die fünf Tools, the four Ressourcen and the seven Deny-List-Ids.

Bezug zur API-Governance

OpenAPI-Governance hat bereits ein Vokabular: Eigentümer, Lebenszyklus, Breaking Change, Deprecation, „diese Operation ist nicht öffentlich“. MCP ist dazu gekommen und hat dieses Vokabular vergessen.

Appi-Praxis

MCP-Aquivalent in diesem Repositorium

Veröffentlichte OpenAPI

CONTRACT.md + inspect_contract

Pfad-Allowlist

Kataloge-IDs + exakte Operationen

„Exponiere /admin nicht“

DENY.md

Deprecated API bleibt gelistet

billing Lebenzyklus = deprecated

Vertragstest in der CI

npm test + npm run typecheck

Wer symbologk a PR, der einen undokumentiert REST–Enndpont hinzügt, sollte auch den PR able hnen, der ein supp undokumentierten MCP-Tool hinzüfgt.

Die produktiere Version of die Problems – AP– und API-List, "-Inventar" – und MCP-Servern, Lebeszyklus, Review – ist Apidex. Dies Repos implementiert siege nicht. Es zeigt the Grundelement, das ein Katalog annehmen würde: ein Server, der sich selbst describe kann and angeben kann, was able.

Der Trade-off, den ich akzeptiert habe

Ein Demo that is a dis Belghen enthusiast. Beeendrük. It also beibringt dem nächsten nen engineer bei, fetch „nur für dieses“ ein his. Ichhätte mich für einem langweiligen Katalog entschieden, damit die Deny-Liste Der Punkt wird.

Die Kosten: Du kannst diesen Server nicht dazu benützen, „Arbeit zu erledigen“. Das ist wie gewollt. Ausführung ist ein anderer Kontract, with Identität.

Lizenz

MIT. Copyright (c) 2026 Bruno CarValho de Aquino.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server providing token-efficient access to OpenAPI/Swagger specs via MCP Resources for client-side exploration.
    157
    76
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to browse a catalog of OpenAPI specs, search for operations, and retrieve full operation contracts to build API requests without calling the target APIs.
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for loading and exploring OpenAPI/Swagger specifications, enabling AI assistants to dynamically browse API contracts by loading specs, searching endpoints, inspecting schemas, and retrieving operations.
    26
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A read-only MCP server for navigating OpenAPI / Swagger specifications, enabling agents to search endpoints, retrieve parameters and schemas, and inspect authentication without loading the full spec into context.
    9
    34
    MIT

View all related MCP servers

Related MCP Connectors

  • APIs.guru MCP — keyless directory of 2,500+ public APIs and their OpenAPI specs.

  • MCP server for AI access to Swagger by SmartBear.

  • Remote MCP for A2A caller identity, scope policy, verdict receipts, and audit history.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brunoaquino/mcp-server-reference'

If you have feedback or need assistance with the MCP directory API, please join our Discord server