Atlas / MCP servers / ts-oas / Nest Openapi

Nest OpenapiSAFE

mcp/ts-oas/nest-openapi

A modern, modular set of utilities for building OpenAPI-driven NestJS apps.

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
3 2r · 1w · 0d
Transport
stdio · streamable-http
License
MIT
Stars
12
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

@nest-openapi

OpenAPI‐first utilities for NestJS

Single source of truth · Drop‐in for NestJS · Fast by design

Features

  • 🎯 Single Source of Truth — Your OpenAPI spec drives validation, serialization, mocking, and MCP tools.
  • ⚡ Fast by Design — AJV validation and fast-json-stringify serialization with caching and precompilation.
  • 🔌 Drop-in Integration — Works with existing NestJS controllers and routes
  • 🎛️ Fine-Grained Control — Per-route opt-out and custom schema overrides
  • 🚀 Platform Agnostic — Supports both Express and Fastify adapters

Packages

Read from source at commit f989e6b48f6cOBSERVED · 2026-10-12
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add validator -- npx -y @nest-openapi/[email protected]
claude-desktop
{
  "mcpServers": {
    "validator": {
      "command": "npx",
      "args": [
        "-y",
        "@nest-openapi/[email protected]"
      ]
    }
  }
}
03

Exposed tools (3)

2 read · 1 write · 0 destructive.

ToolRiskDescription
custom_toolread
getUserreadGet a user
updateBookwriteUpdate a book
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (2 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (11)

LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
packages/runtime/src/services/runtime.service.ts:67
return "spec:" + createHash("sha1").update(s).digest("hex");
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:129
executor: { baseUrl: "http://127.0.0.1:3000" },
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/mcp/advanced-setup.md:10
executor: { baseUrl: "http://127.0.0.1:3000" },
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/mcp/advanced-setup.md:79
baseUrl: "http://127.0.0.1:3000",
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/mcp/advanced-setup.md:90
baseUrl: "http://127.0.0.1:3000",
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/mcp/index.md:29
executor: { baseUrl: "http://127.0.0.1:3000" },
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@types/node, ajv-formats, vitepress, vue, rimraf, ts-node, typescript
Why it matters. 7 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/mcp/package.json
@modelcontextprotocol/sdk, @nestjs/common, @nestjs/core, @nestjs/platform-express, @nestjs/platform-fastify, @nestjs/testing, @types/jest, @types/json-schema
Why it matters. 17 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/mock/package.json
rxjs, json-schema-faker, @nestjs/common, @nestjs/core, @nestjs/testing, @types/jest, @types/node, @types/supertest
Why it matters. 13 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/runtime/package.json
@types/node, tsup, typescript
Why it matters. 3 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/serializer/package.json
fast-json-stringify, rxjs, @nestjs/common, @nestjs/core, @nestjs/platform-express, @nestjs/testing, @types/jest, @types/node
Why it matters. 14 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha f989e6b48f6cfull audit observations/trust-audit/mcp-server/ts-oas__nest-openapi.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-12f989e6b48f6cSAFEB89first audit
06

Questions

What is the @nest-openapi/mcp MCP server?

A modern, modular set of utilities for building OpenAPI-driven NestJS apps.

What tools does @nest-openapi/mcp expose?

3 in total: 2 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is @nest-openapi/mcp safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does @nest-openapi/mcp need?

No credential environment variables were found in its source, so it appears to need none.

How does @nest-openapi/mcp run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @nest-openapi/validator at 0.1.2.

How current is this page?

The grade is for one exact copy of the source (f989e6b48f6c), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement