# tyktechnologies/tyk-dashboard-mcp architecture

> Architecture diagram of the GitHub repository tyktechnologies/tyk-dashboard-mcp, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/tyktechnologies/tyk-dashboard-mcp
- Repository: https://github.com/tyktechnologies/tyk-dashboard-mcp

## Overview

This repository turns OpenAPI descriptions into MCP servers so AI assistants can invoke the described REST operations. Configuration selects the specification, overlays, filters, and API request settings; the processor loads and validates the description and applies overlays; the mapper produces filtered MCP tool definitions; and the server registers tools and dispatches invocations through the API client. The README also documents file or URL inputs, authentication, custom headers, and x-mcp customization. Relationships are limited to shown imports/calls and documented capabilities; unsampled internals are not inferred.

Main entry points: [`src/openapiProcessor.ts`](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/openapiProcessor.ts) (Spec loader and validator), [`src/server.ts`](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/server.ts) (MCP server), [`src/config.ts`](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/config.ts) (Runtime configuration), [`src/mcpMapper.ts`](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/mcpMapper.ts) (Tool mapper and filters)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_setup["Configuration and inputs"]
  node_config["Runtime configuration<br/>[config.ts]"]
  node_spec["OpenAPI spec source"]
  node_overlay_source["Overlay sources"]
end

subgraph group_definition["OpenAPI processing"]
  node_processor["Spec loader and validator"]
  node_http_fetch["URL fetch helper<br/>[httpClient.ts]"]
  node_overlay_engine["Overlay engine<br/>[overlay-applier.ts]"]
  node_mapper["Tool mapper and filters<br/>[mcpMapper.ts]"]
end

subgraph group_mcp["MCP runtime"]
  node_server["MCP server<br/>[server.ts]"]
  node_stdio["MCP host transport"]
end

subgraph group_requests["API requests"]
  node_api_client["API executor<br/>[apiClient.ts]"]
end

node_assistant(("AI assistant"))
node_target_api["Target REST API"]

node_assistant -->|"uses tools"| node_server
node_config -->|"configures loading"| node_processor
node_config -->|"configures filters"| node_mapper
node_config -->|"configures requests"| node_api_client
node_spec -->|"loads description"| node_processor
node_overlay_source -->|"loads overlays"| node_processor
node_processor -->|"fetches URLs"| node_http_fetch
node_processor -->|"applies overlays"| node_overlay_engine
node_processor -->|"provides processed spec"| node_mapper
node_mapper -->|"provides tool definitions"| node_server
node_server -->|"connects transport"| node_stdio
node_server -->|"dispatches invocations"| node_api_client
node_api_client -->|"sends HTTP requests"| node_target_api

click node_config "https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/config.ts"
click node_processor "https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/openapiProcessor.ts"
click node_http_fetch "https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/utils/httpClient.ts"
click node_overlay_engine "https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/overlay-applier.ts"
click node_mapper "https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/mcpMapper.ts"
click node_server "https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/server.ts"
click node_api_client "https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/apiClient.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_config,node_spec,node_overlay_source toneBlue
class node_processor,node_http_fetch,node_overlay_engine,node_mapper toneAmber
class node_server,node_stdio,node_target_api toneMint
class node_api_client toneRose
class node_assistant toneIndigo
```

## Components

### Configuration and inputs

- [Runtime configuration](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/config.ts): `src/config.ts`
- **OpenAPI spec source**
- **Overlay sources**

### OpenAPI processing

- [Spec loader and validator](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/openapiProcessor.ts): `src/openapiProcessor.ts`
- [URL fetch helper](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/utils/httpClient.ts): `src/utils/httpClient.ts`
- [Overlay engine](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/overlay-applier.ts): `src/overlay-applier.ts`
- [Tool mapper and filters](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/mcpMapper.ts): `src/mcpMapper.ts`

### MCP runtime

- [MCP server](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/server.ts): `src/server.ts`
- **MCP host transport**

### API requests

- [API executor](https://github.com/tyktechnologies/tyk-dashboard-mcp/blob/main/src/apiClient.ts): `src/apiClient.ts`

### Other components

- **AI assistant**
- **Target REST API**

## Connections

- AI assistant → MCP server: uses tools (evidence: `README.md`)
- Runtime configuration → Spec loader and validator: configures loading (evidence: `src/openapiProcessor.ts`)
- Runtime configuration → Tool mapper and filters: configures filters (evidence: `src/mcpMapper.ts`)
- Runtime configuration → API executor: configures requests (evidence: `src/apiClient.ts`)
- OpenAPI spec source → Spec loader and validator: loads description (evidence: `README.md`)
- Overlay sources → Spec loader and validator: loads overlays (evidence: `README.md`)
- Spec loader and validator → URL fetch helper: fetches URLs (evidence: `src/openapiProcessor.ts`)
- Spec loader and validator → Overlay engine: applies overlays (evidence: `src/openapiProcessor.ts`)
- Spec loader and validator → Tool mapper and filters: provides processed spec (evidence: `src/server.ts`)
- Tool mapper and filters → MCP server: provides tool definitions (evidence: `src/server.ts`)
- MCP server → MCP host transport: connects transport (evidence: `src/server.ts`)
- MCP server → API executor: dispatches invocations (evidence: `src/server.ts`)
- API executor → Target REST API: sends HTTP requests (evidence: `src/apiClient.ts`)
