# Manifold [Health: Active]

**Category:** 🔗 Aggregators  
**Repository:** https://github.com/nonchan7720/manifold  
**GitHub Stars:** 4  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/manifold

## Description
MCP gateway aggregating MCP servers and OpenAPI/Swagger REST APIs behind one MCP endpoint

## Tools
Capabilities this server exposes over MCP:

- **NetworkPolicy**
- **headers.bypass**
- **true**

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "manifold": {
    "url": "https://mcp.notion.com/mcp"
  }
}
```

## Documentation

## What the Manifold MCP server does

The Manifold MCP server presents one MCP interface while routing requests to multiple backend systems. These backends can include external MCP servers, REST APIs described by OpenAPI 3.x or Swagger 2.x documents, and A2A agents. For OpenAPI and Swagger sources, Manifold generates MCP tools from the API specification. For MCP sources, it acts as a reverse proxy rather than converting the backend’s tools into another protocol.

A gateway configuration can control which backend tools are visible. Tools may be included or excluded, and their names or descriptions can be overridden. This is useful when several services expose overlapping capabilities or when an agent should see only a restricted subset.

## How it works

MCP clients send requests to Manifold, which routes them to configured services or agents. OpenAPI operations become MCP tools with generated input schemas. The gateway can also expose an A2A agent’s Agent Card skills as tools, either as a separate service or alongside another service’s tools. When skills are attached to a service, their names use an agent-and-skill form, and the caller’s MCP session identifier is passed to A2A as the context identifier.

For large tool catalogs, optional tool search replaces an endpoint’s normal `tools/list` result with a `tool_search` tool after a configurable visibility threshold. Search can use BM25, regular expressions, or fuzzy matching, and only searches tools available to the caller. Manifold can cache tool listings and read-only call results per caller and write one JSON record for each tool call.

## Setup and configuration

Install a release binary, build from source with Go 1.26 or newer, or use the published Docker image. Start the gateway with `manifold gateway`, optionally supplying a configuration file. The repository also provides Docker Compose for a development setup that includes Redis.

Redis or SQLite are optional. Without either, session and OAuth token state stays in memory; Redis or SQLite can preserve that state across restarts or share it across replicas. Backend authentication can use a static header value, OAuth 2.0, or API key token exchange. The built-in OAuth 2.1 authorization server supports PKCE and downstream registration through DCR or CIMD.

## Tools and capabilities

The Manifold MCP server includes commands for inspecting and maintaining generated OpenAPI tools. `manifold openapi tools` lists the tools a specification would create, while `manifold openapi generate` writes a committed generated file. `--check` supports CI validation, and `manifold openapi diff` reports breaking changes using oasdiff.

Binary request fields can accept base64 content or URLs, with explicit object forms also supported. Successful non-text binary responses can be stored in S3 and returned as resource links. OpenTelemetry export covers traces, metrics, and logs; metrics can also be exposed for Prometheus-style pulling.

## Limitations and notes

The gateway does not require backend connections at startup for stdio services: those connections are opened on the first request. HTTP backends create a new connection for each request and do not share sessions between callers. Persistent state requires configuring Redis or SQLite; the default in-memory mode loses sessions and OAuth tokens when the process stops. Binary handling applies only to successful 2xx responses whose actual content type is non-textual; errors, redirects, and textual formats remain ordinary responses.

_Full upstream README: https://allmcps.com/mcp/manifold/readme_

