Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
no tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed v0.10.6 · analyzer v17 · 2d ago
skills & prompt files 38
- agent-rulespackage/AGENTS.md
- agent-rulespackage/CLAUDE.md
- skillpackage/skills/add-app-tool/SKILL.md
- skillpackage/skills/add-export/SKILL.md
- skillpackage/skills/add-prompt/SKILL.md
- skillpackage/skills/add-provider/SKILL.md
- skillpackage/skills/add-resource/SKILL.md
- skillpackage/skills/add-service/SKILL.md
- skillpackage/skills/add-test/SKILL.md
- skillpackage/skills/add-tool/SKILL.md
- skillpackage/skills/api-auth/SKILL.md
- skillpackage/skills/api-canvas/SKILL.md
- skillpackage/skills/api-config/SKILL.md
- skillpackage/skills/api-context/SKILL.md
- skillpackage/skills/api-errors/SKILL.md
- skillpackage/skills/api-linter/SKILL.md
- skillpackage/skills/api-mirror/SKILL.md
- skillpackage/skills/api-services/SKILL.md
- skillpackage/skills/api-telemetry/SKILL.md
- skillpackage/skills/api-testing/SKILL.md
- skillpackage/skills/api-utils/SKILL.md
- skillpackage/skills/api-workers/SKILL.md
- skillpackage/skills/code-simplifier/SKILL.md
- skillpackage/skills/design-mcp-server/SKILL.md
- skillpackage/skills/field-test/SKILL.md
- skillpackage/skills/git-wrapup/SKILL.md
- skillpackage/skills/maintenance/SKILL.md
- skillpackage/skills/orchestrations/SKILL.md
- skillpackage/skills/polish-docs-meta/SKILL.md
- skillpackage/skills/release-and-publish/SKILL.md
- skillpackage/skills/report-issue-framework/SKILL.md
- skillpackage/skills/report-issue-local/SKILL.md
- skillpackage/skills/security-pass/SKILL.md
- skillpackage/skills/setup/SKILL.md
- skillpackage/skills/techniques/SKILL.md
- skillpackage/skills/tool-defs-analysis/SKILL.md
- agent-rulespackage/templates/AGENTS.md
- agent-rulespackage/templates/CLAUDE.md
evidence-backed
findings quoted directly from the published source artifact — not inferred
filesystem 20
- fs package/dist/cli/init.js :7
import { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs package/dist/config/index.js :10
import { readFileSync } from 'node:fs'; - fs package/dist/services/canvas/providers/duckdb/DuckdbProvider.js :9
import { unlink } from 'node:fs/promises'; - fs package/dist/services/canvas/providers/duckdb/exportWriter.js :8
import { mkdir, open, stat, unlink } from 'node:fs/promises'; - fs package/dist/services/mirror/sqlite/handle.js :12
import { mkdir } from 'node:fs/promises'; - fs package/dist/storage/providers/fileSystem/fileSystemProvider.js :12
import { existsSync, mkdirSync } from 'node:fs'; - fs package/dist/utils/parsing/pdfParser.js :66
* import { readFile } from 'node:fs/promises'; - fs package/scripts/build-changelog.ts :32
import { existsSync, readdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs package/scripts/build.ts :17
import { readFileSync } from 'node:fs'; - fs package/scripts/check-docs-sync.ts :22
import { existsSync, readFileSync } from 'node:fs'; - fs package/scripts/check-skill-versions.ts :33
import { existsSync, readFileSync } from 'node:fs'; - fs package/scripts/check-skills-sync.ts :37
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs package/scripts/clean-mcpb.ts :25
import { existsSync, statSync } from 'node:fs'; - fs package/scripts/clean.ts :15
import { readdir, rm } from 'node:fs/promises'; - fs package/scripts/devcheck.ts :3
import { existsSync, readFileSync } from 'node:fs'; - fs package/scripts/lint-mcp.ts :19
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs package/scripts/lint-packaging.ts :43
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs package/scripts/list-skills.ts :21
import { existsSync } from 'node:fs'; - fs package/scripts/release-github.ts :33
import { existsSync, readFileSync } from 'node:fs'; - fs package/scripts/tree.ts :24
import type { Dirent } from 'node:fs';
shell / exec 7
- shell package/scripts/build.ts :16
import { execFile } from 'node:child_process'; - shell package/scripts/check-framework-antipatterns.ts :38
import { spawnSync } from 'node:child_process'; - shell package/scripts/check-skill-versions.ts :32
import { spawnSync } from 'node:child_process'; - shell package/scripts/clean-mcpb.ts :24
import { execFileSync } from 'node:child_process'; - shell package/scripts/devcheck.ts :2
import { type ChildProcess, spawn, spawnSync } from 'node:child_process'; - shell package/scripts/lint-packaging.ts :42
import { execFileSync } from 'node:child_process'; - shell package/scripts/release-github.ts :32
import { spawnSync } from 'node:child_process';
network 6
- net package/dist/core/worker.js :146
async fetch(request, env, ctx) { - net package/dist/mcp-server/transports/http/httpServer.js :8
import http from 'node:http'; - net package/dist/utils/network/fetchWithTimeout.js :217
* @param url - The URL to fetch (string or `URL` instance). - net package/dist/utils/network/httpError.js :91
* const response = await fetch(url); - net package/dist/utils/parsing/htmlExtractor.js :56
* const html = await fetch('https://example.com/article').then((r) => r.text()); - net package/dist/utils/telemetry/trace.js :23
* fetch(url, { headers: { traceparent } });
secrets 1
- secrets package/dist/services/speech/core/SpeechService.js :23
* const tts = createSpeechProvider({ provider: 'elevenlabs', apiKey: process.env.ELEVEN_KEY });
declared dependencies 61
- @hono/mcp@^0.3.0
- @hono/node-server@^2.0.4
- @modelcontextprotocol/ext-apps@^1.7.4
- @modelcontextprotocol/sdk@^1.29.0
- @opentelemetry/api@^1.9.1
- dotenv@^17.4.2
- hono@^4.12.25
- jose@^6.2.3
- pino@^10.3.1
- zod@^4.4.3
- @biomejs/biome@2.4.16
- @cloudflare/vitest-pool-workers@^0.16.15
- @cloudflare/workers-types@4.20260611.1
- @duckdb/node-api@^1.5.3-r.3
- @hono/otel@^1.1.2
- @opentelemetry/exporter-metrics-otlp-http@^0.219.0
- @opentelemetry/exporter-trace-otlp-http@^0.219.0
- @opentelemetry/instrumentation-http@^0.219.0
- @opentelemetry/instrumentation-pino@^0.65.0
- @opentelemetry/resources@^2.8.0
- @opentelemetry/sdk-metrics@^2.8.0
- @opentelemetry/sdk-node@^0.219.0
- @opentelemetry/sdk-trace-node@^2.8.0
- @opentelemetry/semantic-conventions@^1.41.1
- @supabase/supabase-js@^2.108.1
- @types/bun@^1.3.14
- @types/js-yaml@^4.0.9
- @types/node@25.9.3
- @types/papaparse@^5.5.2
- @types/sanitize-html@^2.16.1
- @types/validator@^13.15.10
- @vitest/coverage-istanbul@4.1.8
- @vitest/ui@4.1.8
- better-sqlite3@^12.10.0
- bun-types@^1.3.14
- chrono-node@^2.9.1
- clipboardy@^5.3.1
- defuddle@^0.18.1
- depcheck@^1.4.7
- diff@^9.0.0
- execa@^9.6.1
- fast-check@^4.8.0
- fast-xml-parser@^5.8.0
- ignore@^7.0.5
- js-yaml@^4.2.0
- linkedom@^0.18.12
- node-cron@^4.2.1
- openai@^6.42.0
- papaparse@^5.5.3
- partial-json@^0.1.7
- pdf-lib@^1.17.1
- pino-pretty@^13.1.3
- repomix@^1.14.1
- sanitize-html@^2.17.5
- tsc-alias@^1.8.17
- typedoc@^0.28.19
- typescript@^6.0.3
- unpdf@^1.6.2
- validator@^13.15.35
- vite@8.0.16
- vitest@^4.1.8