Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add wallieinformal201/pentest-mcp-server --skill api-configgit clone --depth 1 https://github.com/wallieinformal201/pentest-mcp-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/wallieinformal201/pentest-mcp-server/api-config)<a href="https://agentmods.dev/skills/wallieinformal201/pentest-mcp-server/api-config"><img src="https://agentmods.dev/badge/skills/wallieinformal201/pentest-mcp-server/api-config/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/wallieinformal201/pentest-mcp-server/api-config"><img src="https://agentmods.dev/badge/skills/wallieinformal201/pentest-mcp-server/api-config.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00043 | $0.04011 |
| Opus 5 | $0.00022 | $0.02005 |
| Sonnet 5 | $0.00009 | $0.00802 |
| Haiku 4.5 | $0.00004 | $0.00401 |
Grade A, and why
api-config scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 250 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Overview
Configuration has two layers: core config (managed by the framework, env-driven) and server config (your own Zod schema for domain-specific env vars). Never merge them.
Import: AppConfig, config, parseConfig, resetConfig, ConfigSchema from @cyanheads/mcp-ts-core/config.
Core config
Managed by @cyanheads/mcp-ts-core. Validated via Zod from environment variables. Uses a lazy proxy — parsing is deferred until the first property read.
Priority (highest to lowest):
name/versionoverrides passed tocreateApp()orcreateWorkerHandler()- Environment variables
package.jsonfields
Identity
| Env Var | AppConfig field |
Default | Notes |
|---|---|---|---|
MCP_SERVER_NAME |
mcpServerName |
package.json name |
Overrides package name |
MCP_SERVER_VERSION |
mcpServerVersion |
package.json version |
Overrides package version |
MCP_SERVER_DESCRIPTION |
mcpServerDescription |
package.json description |
Optional |
PACKAGE_NAME |
pkg.name |
package.json name |
Rarely needed |
PACKAGE_VERSION |
pkg.version |
package.json version |
Rarely needed |
NODE_ENV |
environment |
development |
Aliases: dev→development, prod→production, test→testing |
MCP_LOG_LEVEL |
logLevel |
debug |
Aliases: warn→warning, err→error, fatal/silent→emerg, trace→debug, information→info |
LOGS_DIR |
logsPath |
<project-root>/logs |
Node.js only; absolute or relative to project root |
Transport
| Env Var | AppConfig field |
Default | Notes |
|---|---|---|---|
MCP_TRANSPORT_TYPE |
mcpTransportType |
stdio |
stdio | http |
MCP_HTTP_PORT |
mcpHttpPort |
3010 |
Port for HTTP transport |
MCP_HTTP_HOST |
mcpHttpHost |
127.0.0.1 |
Bind address |
MCP_HTTP_ENDPOINT_PATH |
mcpHttpEndpointPath |
/mcp |
HTTP endpoint path |
MCP_HTTP_MAX_BODY_BYTES |
mcpHttpMaxBodyBytes |
1048576 (1 MiB) |
Max inbound JSON-RPC request body; oversized requests get 413 before per-request allocation. Does not cap upstream data staged into a canvas or response sizes. 0 disables (defer to runtime/proxy). |
MCP_HTTP_MAX_PORT_RETRIES |
mcpHttpMaxPortRetries |
15 |
Retry count if port is busy |
MCP_HTTP_PORT_RETRY_DELAY_MS |
mcpHttpPortRetryDelayMs |
50 |
Delay between port retries (ms) |
MCP_SESSION_MODE |
mcpSessionMode |
auto |
stateless | stateful | auto |
MCP_STATEFUL_SESSION_STALE_TIMEOUT_MS |
mcpStatefulSessionStaleTimeoutMs |
1800000 |
30 min; stale session eviction |
MCP_RESPONSE_VERBOSITY |
mcpResponseVerbosity |
standard |
minimal | standard | full |
MCP_ALLOWED_ORIGINS |
mcpAllowedOrigins |
— | Comma-separated list; omit to allow all |
MCP_SERVER_RESOURCE_IDENTIFIER |
mcpServerResourceIdentifier |
— | RFC 8707 resource indicator URL |
MCP_PUBLIC_URL |
mcpPublicUrl |
— | Public-facing origin for reverse proxies (Cloudflare Tunnel, nginx, ALB) so emitted URLs carry the correct scheme |
MCP_HEARTBEAT_INTERVAL_MS |
mcpHeartbeatIntervalMs |
0 (disabled) |
Heartbeat ping interval; 0 disables |
MCP_HEARTBEAT_MISS_THRESHOLD |
mcpHeartbeatMissThreshold |
3 |
Missed heartbeats before session is considered stale |
MCP_GC_PRESSURE_INTERVAL_MS |
mcpGcPressureIntervalMs |
0 (disabled) |
Bun-only opt-in forced GC loop for HTTP deployments with heap growth |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 250 lines · 43 tokens per session scan A 33ef19fad7da
api-config is a skill published in the GitHub repository wallieinformal201/pentest-mcp-server (2 stars, last pushed today), licensed Apache-2.0. It adds 43 tokens to every session and 4,011 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
event-store-design
Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.
cqrs-implementation
Implement Command Query Responsibility Segregation for scalable architectures. Use when separating read and write models, optimizing query performance, or building event-sourced systems.
workflow-orchestration-patterns
Design durable workflows with Temporal for distributed systems. Covers workflow vs activity separation, saga patterns, state management, and determinism constraints. Use when building long-running processes, distributed transactions, or microservice orchestration.
microservices-patterns
Design microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices.
deepstream-sop
Use this skill when building, deploying, evaluating, debugging, or measuring latency for the DeepStream SOP Inference Microservice — a GPU-accelerated FastAPI service that detects whether operators perform assembly-line steps in order via event boundary detection (GEBD) plus VLM classification. Trigger even if the…
earth2studio-create-datasource
Create and validate Earth2Studio data source wrappers (DataSource, ForecastSource, DataFrameSource, ForecastFrameSource) from remote stores. Do NOT use for fetching data with existing sources, model inference, or installation tasks.