Atlas / MCP servers / aashari / Boilerplate

BoilerplateSAFE

mcp/aashari/boilerplate

TypeScript Model Context Protocol (MCP) server boilerplate providing IP lookup tools/resources. Includes CLI support and extensible structure for connecting AI systems (LLMs) to external data sources like ip-api.com. Ideal template for creating new MCP integrations via Node.js.

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

Overview

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

A production-ready foundation for developing custom Model Context Protocol (MCP) servers in TypeScript. Provides a complete layered architecture pattern, working example implementation, and comprehensive developer infrastructure to connect AI assistants with external APIs and data sources.

[](https://www.npmjs.com/package/@aashari/boilerplate-mcp-server) [](https://opensource.org/licenses/ISC)

Latest Update (Feb 2026): Updated to MCP SDK 1.26.0 and Zod 4.3.6 with continued modern registerTool patterns and streamable HTTP improvements. See docs/MODERNIZATION.md for details.

Features

  • Security First: DNS rebinding protection, localhost-only binding, secure error handling
  • Dual Transport Support: STDIO and Streamable HTTP transports with automatic fallback
  • Layered Architecture: Clean separation between CLI, tools, resources, prompts, controllers, services, and utilities
  • Type Safety: Full TypeScript implementation with Zod v4.3.6 schema validation
  • All MCP Primitives: Tools, resources, and prompts (with examples)
  • ResourceLink Pattern: Token-efficient resource references for large responses
  • TOON Output Format: Token-Oriented Object Notation for 30-60% fewer tokens than JSON
  • JMESPath Filtering: Extract only needed fields from responses to reduce token costs
  • Raw Response Logging: Automatic logging of large API responses to /tmp/mcp// with truncation guidance
  • Modern SDK: Uses MCP SDK v1.26.0 with registerTool API pattern (ready for v2 migration)
  • Complete IP Address Example: Tools, resources, prompts, and CLI commands for IP geolocation
  • Comprehensive Testing: Unit and integration tests with coverage reporting (47 tests passing)
  • Production Tooling: ESLint, Prettier, semantic-release, a
Read from source at commit 64b7c1f226c2OBSERVED · 2026-10-07
02

Exposed tools (2)

2 read · 0 write · 0 destructive.

ToolRiskDescription
ip_get_detailsread
ip_get_details_linkread
03

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 (1 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (8)

LOWInventory / provenance · inv.hidden_file · CWE-1104
.releaserc.json
.releaserc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
SECURITY.md:28
'http://127.0.0.1',
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
SECURITY.md:30
'https://127.0.0.1',
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/AUDIT-2025-01-13.md:88
serverLogger.info(`HTTP transport listening on http://127.0.0.1:${PORT}${mcpEndpoint}`);
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/IMPROVEMENTS-SUMMARY.md:47
'http://127.0.0.1',
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/IMPROVEMENTS-SUMMARY.md:49
'https://127.0.0.1',
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, @toon-format/toon, commander, cors, dotenv, express, jmespath, zod
Why it matters. 34 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-07 · audit v0.4.1 · source sha 64b7c1f226c2full audit observations/trust-audit/mcp-server/aashari__boilerplate.json · Report an issue / request a re-scan
04

Audit history

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

DateSourceVerdictGradeScoreChange
2026-10-0764b7c1f226c2SAFEB89first audit
05

Questions

What is the Boilerplate MCP server?

TypeScript Model Context Protocol (MCP) server boilerplate providing IP lookup tools/resources. Includes CLI support and extensible structure for connecting AI systems (LLMs) to external data sources like ip-api.com. Ideal template for creating new MCP integrations via Node.js.

What tools does Boilerplate expose?

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

Is Boilerplate 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 Boilerplate need?

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

How does Boilerplate run?

It speaks stdio and streamable-http, so it runs as a local process your client starts.

How current is this page?

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

Advertisement