AI Slop Code Risk Monitor

modelcontextprotocol/typescript-sdk

SlopCodeMonitor badge for modelcontextprotocol/typescript-sdk Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

The official TypeScript SDK for Model Context Protocol servers and clients

1.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for modelcontextprotocol/typescript-sdk, a TypeScript project with 13,689 GitHub stars. SynthScan examined 243,086 lines of code across 1008 source files, recording 282 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 1.7 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.7
Adjusted Signal
1.7
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
13.7K
Stars
TypeScript
Language
243.1K
Lines of Code
1.0K
Files
282
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 5.6/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 228 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.9/100 · LOW

Are imports declared and package/API names verified? 25 finding(s).

Agent Over-Engineering Ratio 4.3/100 · LOW

Are wrappers, guards, and repeated structures necessary? 149 finding(s).

PR Review Velocity Impact 7.4/100 · LOW

Which changes need focused human review? 282 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 4MEDIUM 37LOW 241

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 282 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers120 hits · 120 pts
SeverityFileLineSnippetContext
LOWtest/e2e/scenarios/client-auth.test.ts82function createMockAuthorizationServer(config: MockASConfig = {}) {CODE
LOWtest/e2e/scenarios/client-auth.test.ts1489function createScopeRequiringWorld() {CODE
LOWtest/e2e/scenarios/client-auth.test.ts2868function createMigratingAuthorizationServer() {CODE
LOWtest/e2e/scenarios/transport-raw.test.ts60function expectedNegotiatedVersion(requested: string): string {CODE
LOWtest/e2e/helpers/express.ts52export async function startExpressWithHostValidation(allowedHosts: string[], handler: RequestHandler): Promise<ExpressHoCODE
LOWtest/helpers/src/helpers/http.ts32export function createExpressResponseMock(options: { trackRedirectUrl?: boolean } = {}): Response & {CODE
LOWtest/helpers/src/helpers/http.ts87export function createNodeServerResponseMock(): ServerResponse {CODE
LOWtest/conformance/src/everythingClient.ts246async function runHttpStandardHeadersClient(serverUrl: string): Promise<void> {CODE
LOWtest/conformance/src/everythingClient.ts292async function connectModernHeaderClient(serverUrl: string): Promise<Client> {CODE
LOWtest/conformance/src/everythingClient.ts305async function runHttpCustomHeadersClient(serverUrl: string): Promise<void> {CODE
LOWtest/conformance/src/everythingClient.ts321async function runHttpInvalidToolHeadersClient(serverUrl: string): Promise<void> {CODE
LOWtest/conformance/src/everythingClient.ts355function withLocalDiscoverResponse(serverInfo: { name: string; version: string }): typeof fetch {CODE
LOWtest/conformance/src/everythingClient.ts595async function runClientCredentialsBasic(serverUrl: string): Promise<void> {CODE
LOWtest/conformance/src/everythingClient.ts638async function runCrossAppAccessCompleteFlow(serverUrl: string): Promise<void> {CODE
LOWtest/conformance/src/everythingClient.ts720async function runElicitationDefaultsClient(serverUrl: string): Promise<void> {CODE
LOWtest/conformance/src/everythingClient.ts832async function runJsonSchemaRefNoDerefClient(serverUrl: string): Promise<void> {CODE
LOWtest/conformance/src/everythingClient.ts943async function runSkillsNoPrefetchClient(serverUrl: string): Promise<void> {CODE
LOWexamples/oauth/client.ts52async function followAuthorizationRedirects(authorizationUrl: URL): Promise<URLSearchParams> {CODE
LOWexamples/oauth/dualModeAuth.ts39function createHostManagedTransport(serverUrl: URL, session: HostSessionStore, ui: HostUi): StreamableHTTPClientTransporCODE
LOWexamples/oauth/dualModeAuth.ts58function createUserConfiguredTransport(CODE
LOWexamples/cli-client/host/auth.ts154export async function completeAuthorizationWithBrowser(options: {CODE
LOWexamples/repl/client.ts672async function runNotificationsToolWithResumability(interval: number, count: number): Promise<void> {CODE
LOWexamples/shared/src/authServer.ts350export function createProtectedResourceMetadataRouter(resourcePath = '/mcp'): Router {CODE
LOWexamples/shared/src/clientCredentialsAuthServer.ts55export function createClientCredentialsAuthServer(options: ClientCredentialsAuthServerOptions): ClientCredentialsAuthSerCODE
LOWscripts/sync-snippets.ts300function getOrLoadRegion(CODE
LOW…/middleware/express/src/middleware/originValidation.ts50export function localhostOriginValidation(): RequestHandler {CODE
LOW…ges/middleware/hono/src/middleware/originValidation.ts36export function localhostOriginValidation(): MiddlewareHandler {CODE
LOWpackages/middleware/node/test/toNodeHandler.test.ts40function bodyDerivedStandardHeaders(body: unknown): Record<string, string> {CODE
LOWpackages/middleware/node/test/streamableHttp.test.ts3100async function createTestServerWithDnsProtection(config: {CODE
LOWpackages/middleware/node/src/toNodeHandler.ts44function resolveMaxRequestBodySize(value: number | undefined): number {CODE
LOWpackages/middleware/node/src/toNodeHandler.ts359function internalServerErrorResponse(id: string | number | null): Response {CODE
LOW…ges/middleware/node/src/middleware/originValidation.ts52export function localhostOriginValidation(): (req: IncomingMessage, res: ServerResponse) => boolean {CODE
LOW…/middleware/fastify/src/middleware/originValidation.ts48export function localhostOriginValidation() {CODE
LOW…es/core-internal/test/wire/stampingSuppression.test.ts84function expectNoStampedVocabulary(value: unknown): void {CODE
LOWpackages/core-internal/src/types/guards.ts128export function assertCompleteRequestPrompt(request: CompleteRequest): asserts request is CompleteRequestPrompt {CODE
LOWpackages/core-internal/src/types/guards.ts135export function assertCompleteRequestResourceTemplate(request: CompleteRequest): asserts request is CompleteRequestResouCODE
LOWpackages/core-internal/src/wire/codec.ts340export function isExtensionReusedRequestMethod(method: string): boolean {CODE
LOWpackages/core-internal/src/wire/resultFamilies.ts13export function normalizeContentlessToolResult(value: unknown): unknown {CODE
LOWpackages/core-internal/src/wire/textFallback.ts15export function appendTextFallbackForNonObject(result: CallToolResult): CallToolResult {CODE
LOW…ges/core-internal/src/wire/rev2025-11-25/legacyWrap.ts25export function isNonObjectJsonSchemaRoot(json: Readonly<Record<string, unknown>>): boolean {CODE
LOW…ges/core-internal/src/wire/rev2025-11-25/legacyWrap.ts127export function wrapOutputSchemaForLegacy(natural: Readonly<Record<string, unknown>>): Record<string, unknown> {CODE
LOWpackages/core-internal/src/util/standardSchema.ts183export function standardSchemaToJsonSchema(schema: StandardJSONSchemaV1, io: 'input' | 'output' = 'input'): Record<strinCODE
LOWpackages/core-internal/src/util/standardSchema.ts248function isProvablyObjectShapedRoot(schema: Record<string, unknown>, root = schema): boolean {CODE
LOWpackages/core-internal/src/util/standardSchema.ts322function referencePatternsForFormat(format: NonNullable<StringSchema['format']>, pattern: string): ReadonlySet<string> {CODE
LOWpackages/core-internal/src/util/standardSchema.ts355export function promptArgumentsFromStandardSchema(CODE
LOW…ckages/core-internal/src/shared/inputRequiredEngine.ts64function relatedMessagingUnavailable(member: string): never {CODE
LOW…ckages/core-internal/src/shared/inputRequiredEngine.ts79export function synthesizeInputRequestContext(CODE
LOW…ckages/core-internal/src/shared/inputRequiredEngine.ts177export function buildRetryLegRequestOptions(options: RequestOptions | undefined, legOptions: InputRequiredRetryLegOptionCODE
LOWpackages/core-internal/src/shared/elicitation.ts29function convertStandardElicitationSchema(schema: StandardSchemaWithJSON): Record<string, unknown> {CODE
LOWpackages/core-internal/src/shared/elicitation.ts52function isAnnotationOnlyJsonSchemaKeyword(key: string): boolean {CODE
LOWpackages/core-internal/src/shared/elicitation.ts134function describeUnsupportedProperties(pruned: Record<string, unknown>, fallback: string): string {CODE
LOWpackages/core-internal/src/shared/elicitation.ts146function findDroppedConstraintPaths(original: unknown, parsed: unknown, path = ''): string[] {CODE
LOWpackages/core-internal/src/shared/elicitation.ts163export function normalizeElicitInputParams(input: ElicitInputParams): ElicitRequestFormParams {CODE
LOWpackages/core-internal/src/shared/toolNameValidation.ts109export function validateAndWarnToolName(name: string): boolean {CODE
LOW…ckages/core-internal/src/shared/inputRequiredDriver.ts78export function resolveInputRequiredDriverConfig(options: InputRequiredOptions | undefined): ResolvedInputRequiredDriverCODE
LOW…ckages/core-internal/src/shared/inputRequiredDriver.ts126export function buildInputRequiredRetryParams(CODE
LOW…ckages/core-internal/src/shared/inputRequiredDriver.ts150export function inputRequiredRoundsExceededMessage(method: string, maxRounds: number): string {CODE
LOWpackages/core-internal/src/shared/mcpParamHeaders.ts85export function scanXMcpHeaderDeclarations(inputSchema: unknown): XMcpHeaderScanResult {CODE
LOWpackages/core-internal/src/shared/mcpParamHeaders.ts211export function mcpParamPrimitiveToString(value: unknown): string | undefined {CODE
LOWpackages/core-internal/src/shared/mcpParamHeaders.ts411export function paramHeaderMismatchRejection(cell: string, header: string, body: string): InboundLadderRejection {CODE
60 more matches not shown…
Decorative Section Separators29 hits · 93 pts
SeverityFileLineSnippetContext
MEDIUMtest/e2e/scenarios/skills.test.ts73// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts75// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts165// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts167// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts289// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts291// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts352// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts354// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts421// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts423// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts562// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts564// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts647// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts649// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts789// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts791// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts894// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/scenarios/skills.test.ts896// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/helpers/index.ts238// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/helpers/index.ts240// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/helpers/index.ts342// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/helpers/index.ts344// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/helpers/index.ts399// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/e2e/helpers/index.ts407// ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡scripts/build-docs-site.sh32# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/build-docs-site.sh34# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/build-docs-site.sh45# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/build-docs-site.sh47# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/core-internal/src/wire/codec.ts171 // ── Function-only validation surface ──────────────────────────────────COMMENT
Over-Commented Block57 hits · 57 pts
SeverityFileLineSnippetContext
LOWtest/integration/test/server.test.ts2121COMMENT
LOWtest/integration/test/client/client.test.ts2241COMMENT
LOWtest/e2e/scenarios/jsonschema.test.ts541 expect(r.structuredContent).toEqual({ result: [1, [2, 3]] });COMMENT
LOWtest/e2e/helpers/wire-sniffer.ts101 if (isJSONRPCResultResponse(msg)) {COMMENT
LOWtest/e2e/helpers/index.ts141 fetch,COMMENT
LOWtest/conformance/expected-failures.2026-07-28.yaml1# Expected failures for the carried-forward x 2026-07-28 legsCOMMENT
LOWtest/conformance/expected-failures.2026-07-28.yaml21# suite, so the two legs that read this file never run them. Their 2026-07-28COMMENT
LOWtest/conformance/expected-failures.2026-07-28.yaml41# corresponding scenarios start passing and MUST be removed from this listCOMMENT
LOWtest/conformance/expected-failures.yaml1# Conformance scenarios not yet implemented in the v2 TypeScript SDK.COMMENT
LOWtest/conformance/expected-failures.yaml21# client@2025-11-25. The other version on each side runs inCOMMENT
LOWtest/conformance/expected-failures.yaml41# Entries are grouped by SEP. As each SEP/milestone is implemented in the SDK theCOMMENT
LOWtest/conformance/src/everythingClient.ts221 await client.close();COMMENT
LOWtest/conformance/src/everythingServer.ts121// attacker-controlled input. The SDK treats it as an opaque string and appliesCOMMENT
LOWtest/conformance/src/everythingServer.ts801 // ===== MULTI-ROUND-TRIP TOOLS (SEP-2322, protocol revision 2026-07-28) =====COMMENT
LOWtest/conformance/src/everythingServer.ts1081 return inputRequired({ inputRequests });COMMENT
LOWexamples/shared/src/index.ts1// Argv-parse + assert scaffold (NO SDK calls — those go inline in each story).COMMENT
LOWexamples/guides/serving/express.examples.ts61 //#region createMcpExpressApp_listenCOMMENT
LOWexamples/guides/serving/stdio.examples.ts61}COMMENT
LOWexamples/guides/get-started/packages.examples.ts21COMMENT
LOWexamples/guides/get-started/firstClient.examples.ts141// "Close the connection"COMMENT
LOWexamples/gateway/client.ts41// Server identity: getServerVersion() resolves it from the discover result'sCOMMENT
LOWscripts/build-docs-site.sh1#!/usr/bin/env bashCOMMENT
LOWpackages/middleware/node/tsdown.config.ts21 // 4. Type DefinitionsCOMMENT
LOWpackages/core-internal/test/types/registryPins.test.ts21import { describe, expect, it } from 'vitest';COMMENT
LOWpackages/core-internal/src/index.ts21export * from './shared/stdio';COMMENT
LOWpackages/core-internal/src/index.ts41export { codecForVersion, MODERN_WIRE_REVISION } from './wire/codec';COMMENT
LOW…ges/core-internal/src/wire/rev2025-11-25/legacyWrap.ts121 * `$id`-scoped: if the natural root carries a base-establishing `$id` noCOMMENT
LOWpackages/core-internal/src/shared/protocol.ts901 protected _onnotification(rawNotification: JSONRPCNotification, extra?: MessageExtraInfo): void {COMMENT
LOWpackages/core-internal/src/shared/protocol.ts1121 droppedInputResponseKeys: partitionedInputResponses.droppedKeysCOMMENT
LOWpackages/core-internal/src/shared/protocol.ts1161COMMENT
LOWpackages/core/test/coreSchemas.test.ts21 expect(CursorSchema.parse('abc')).toBe('abc');COMMENT
LOWpackages/core/src/index.ts1// @modelcontextprotocol/coreCOMMENT
LOWpackages/core/src/internal.ts1// @modelcontextprotocol/core/internalCOMMENT
LOWpackages/server/src/stdio.ts1// Subpath entry for stdio serving.COMMENT
LOWpackages/server/src/server/streamableHttp.ts1221 // `streamId` above), not on whether a live SSE writer currentlyCOMMENT
LOWpackages/server/src/server/createMcpHandler.ts741 }COMMENT
LOWpackages/server/src/server/createMcpHandler.ts801 // capacity / teardown. The factory IS constructed for listen — to readCOMMENT
LOWpackages/server/src/server/perRequestTransport.ts281 // MissingRequiredClientCapability (-32021), whose 400 the specCOMMENT
LOWpackages/server/src/server/serveStdio.ts541 // channel must not tear down the connection the fallback is about toCOMMENT
LOWpackages/server/src/server/serveStdio.ts641 }COMMENT
LOWpackages/server/src/server/serveStdio.ts661 // The connection was torn down while the factory wasCOMMENT
LOWpackages/client/test/client/listen.test.ts181 // The spec-defined remote termination signal is now observable on theCOMMENT
LOWpackages/client/src/stdio.ts1// Subpath entry for the stdio client transport.COMMENT
LOWpackages/client/src/client/sse.ts221 // Start from the caller-supplied `requestInit.headers` and `set()` theCOMMENT
LOWpackages/client/src/client/streamableHttp.ts481COMMENT
LOWpackages/client/src/client/streamableHttp.ts541 // SEP-2243 standard headers, step 2 of the 5-step client algorithm:COMMENT
LOWpackages/client/src/client/streamableHttp.ts1121 throw markAuthSeamEscape(new UnauthorizedError());COMMENT
LOWpackages/client/src/client/client.ts1221 // value for BOTH handler registration and the auto-open filter, soCOMMENT
LOWpackages/client/src/client/client.ts1261 // would silently tear the auto-opened stream down the momentCOMMENT
LOWpackages/client/src/client/client.ts2021 throw reason instanceof SdkError ? reason : new SdkError(SdkErrorCode.RequestTimeout, String(reason));COMMENT
LOWpackages/client/src/client/client.ts2141COMMENT
LOWpackages/client/src/client/client.ts2221 // Per-URI eviction (mcp.d's `invalidateLogical`): the now-cachedCOMMENT
LOWpackages/client/src/client/client.ts2381 // branch. In a browser environment, dynamically named `Mcp-Param-*`COMMENT
LOWpackages/client/src/client/client.ts2441 assertCompiled();COMMENT
LOWpackages/client/src/client/client.ts2461 }COMMENT
LOWpackages/codemod/src/bin/batchTest.ts161 if (pm !== 'pnpm') return `${pm} install --ignore-scripts`;COMMENT
LOWpackages/codemod/src/bin/batchTest.ts721 for (const checkType of ['typecheck', 'build', 'test', 'lint']) {COMMENT
Verbosity Indicators21 hits · 40 pts
SeverityFileLineSnippetContext
LOWtest/e2e/scenarios/flow.test.ts315 // Step 1: first call rejects with UrlElicitationRequiredErrorCOMMENT
LOW⚡test/e2e/scenarios/flow.test.ts327 // Step 2: user "opens" the URL (out-of-band, simulated by marking complete)COMMENT
LOW⚡test/e2e/scenarios/flow.test.ts330 // Step 3: server emits notifications/elicitation/complete and the client receives it for that exact elicitationCOMMENT
LOW⚡test/e2e/scenarios/flow.test.ts335 // Step 4: retry succeedsCOMMENT
LOWtest/e2e/scenarios/flow.test.ts537 // Step 1: first connect fails with 401 → discovery + DCR + redirect to the authorization endpointCOMMENT
LOWtest/e2e/scenarios/flow.test.ts555 // Step 2: user completes redirect, finishAuth exchanges the code for tokensCOMMENT
LOWtest/e2e/scenarios/flow.test.ts567 // Step 3: second connect with fresh transport succeeds and tools/list worksCOMMENT
LOWexamples/gateway/client.ts33// Step 1: bootstrap — one server/discover probe.COMMENT
LOW⚡examples/gateway/client.ts50// Step 2: persist. In a real gateway you'd write this to Redis / a configCOMMENT
LOW⚡examples/gateway/client.ts57// Step 3: three fresh workers connect from the persisted blob — zeroCOMMENT
LOWexamples/gateway/client.ts74// Step 4: prove it. Three connect() calls and the count is unchangedCOMMENT
LOW⚡scripts/build-docs-site.sh33# Step 1: Build V2 site from the current checkoutCOMMENT
LOW⚡scripts/build-docs-site.sh46# Step 2: Build V1 site from the v1.x branchCOMMENT
LOWpackages/codemod/src/bin/batchTest.ts634 // Step 1: Clone or resetCOMMENT
LOW⚡packages/codemod/src/bin/batchTest.ts653 // Step 2: Detect package managerCOMMENT
LOW⚡packages/codemod/src/bin/batchTest.ts661 // Step 3: Install. A clone that is its own pnpm workspace (catalog:/workspace: deps) must keep itsCOMMENT
LOW⚡packages/codemod/src/bin/batchTest.ts683 // Step 4: Baseline checksCOMMENT
LOW⚡packages/codemod/src/bin/batchTest.ts693 // Step 5: Run codemod (local in-process API, or published CLI)COMMENT
LOWpackages/codemod/src/bin/batchTest.ts705 // Step 6: Point the clone's v2 deps at the chosen SDK source, then re-installCOMMENT
LOWpackages/codemod/src/bin/batchTest.ts718 // Step 7: Post-codemod checksCOMMENT
LOWpackages/codemod/src/bin/batchTest.ts804 // Step 8: Write per-repo report (nested under the per-run results dir)COMMENT
Structural Annotation Overuse21 hits · 40 pts
SeverityFileLineSnippetContext
LOWtest/e2e/scenarios/flow.test.ts315 // Step 1: first call rejects with UrlElicitationRequiredErrorCOMMENT
LOW⚡test/e2e/scenarios/flow.test.ts327 // Step 2: user "opens" the URL (out-of-band, simulated by marking complete)COMMENT
LOW⚡test/e2e/scenarios/flow.test.ts330 // Step 3: server emits notifications/elicitation/complete and the client receives it for that exact elicitationCOMMENT
LOW⚡test/e2e/scenarios/flow.test.ts335 // Step 4: retry succeedsCOMMENT
LOWtest/e2e/scenarios/flow.test.ts537 // Step 1: first connect fails with 401 → discovery + DCR + redirect to the authorization endpointCOMMENT
LOWtest/e2e/scenarios/flow.test.ts555 // Step 2: user completes redirect, finishAuth exchanges the code for tokensCOMMENT
LOWtest/e2e/scenarios/flow.test.ts567 // Step 3: second connect with fresh transport succeeds and tools/list worksCOMMENT
LOWexamples/gateway/client.ts33// Step 1: bootstrap — one server/discover probe.COMMENT
LOW⚡examples/gateway/client.ts50// Step 2: persist. In a real gateway you'd write this to Redis / a configCOMMENT
LOW⚡examples/gateway/client.ts57// Step 3: three fresh workers connect from the persisted blob — zeroCOMMENT
LOWexamples/gateway/client.ts74// Step 4: prove it. Three connect() calls and the count is unchangedCOMMENT
LOW⚡scripts/build-docs-site.sh33# Step 1: Build V2 site from the current checkoutCOMMENT
LOW⚡scripts/build-docs-site.sh46# Step 2: Build V1 site from the v1.x branchCOMMENT
LOWpackages/codemod/src/bin/batchTest.ts634 // Step 1: Clone or resetCOMMENT
LOW⚡packages/codemod/src/bin/batchTest.ts653 // Step 2: Detect package managerCOMMENT
LOW⚡packages/codemod/src/bin/batchTest.ts661 // Step 3: Install. A clone that is its own pnpm workspace (catalog:/workspace: deps) must keep itsCOMMENT
LOW⚡packages/codemod/src/bin/batchTest.ts683 // Step 4: Baseline checksCOMMENT
LOW⚡packages/codemod/src/bin/batchTest.ts693 // Step 5: Run codemod (local in-process API, or published CLI)COMMENT
LOWpackages/codemod/src/bin/batchTest.ts705 // Step 6: Point the clone's v2 deps at the chosen SDK source, then re-installCOMMENT
LOWpackages/codemod/src/bin/batchTest.ts718 // Step 7: Post-codemod checksCOMMENT
LOWpackages/codemod/src/bin/batchTest.ts804 // Step 8: Write per-repo report (nested under the per-run results dir)COMMENT
Fake / Example Data21 hits · 23 pts
SeverityFileLineSnippetContext
LOWtest/integration/test/server.test.ts1054 name: 'John Doe',CODE
LOWtest/integration/test/server.test.ts1092 name: 'John Doe',CODE
LOWtest/integration/test/server/mcp.test.ts5061 name: 'John Doe',CODE
LOWtest/integration/test/server/mcp.test.ts6319 name: 'John Doe',CODE
LOWtest/integration/test/server/elicitation.test.ts69 content: { name: 'John Doe' }CODE
LOWtest/integration/test/server/elicitation.test.ts86 content: { name: 'John Doe' }CODE
LOWtest/integration/test/server/elicitation.test.ts143 street: '123 Main St',CODE
LOWtest/integration/test/server/elicitation.test.ts186 email: 'user@example.com'CODE
LOWtest/integration/test/server/elicitation.test.ts211 name: 'John Doe',CODE
LOWtest/integration/test/server/elicitation.test.ts447 content: { email: 'user@example.com' }CODE
LOWtest/integration/test/server/elicitation.test.ts464 content: { email: 'user@example.com' }CODE
LOWtest/integration/test/client/client.test.ts2139 name: 'John Doe',CODE
LOWtest/integration/test/client/client.test.ts2168 expect(structuredContent.name).toBe('John Doe');CODE
LOW⚡test/e2e/scenarios/prompts.test.ts493 const withOpt = await client.getPrompt({ name: 'summarize', arguments: { text: 'lorem ipsum', max_words: '10' } });CODE
LOW⚡test/e2e/scenarios/prompts.test.ts495 { role: 'user', content: { type: 'text', text: 'Summarize the following text in at most 10 words:\nlorem ipsum' CODE
LOW⚡test/e2e/scenarios/prompts.test.ts498 const withoutOpt = await client.getPrompt({ name: 'summarize', arguments: { text: 'lorem ipsum' } });CODE
LOW⚡test/e2e/scenarios/prompts.test.ts499 expect(withoutOpt.messages).toEqual([{ role: 'user', content: { type: 'text', text: 'Summarize the following text:\nCODE
LOWtest/conformance/src/everythingServer.ts604 default: 'John Doe'CODE
LOW…kages/core-internal/test/validators/validators.test.ts50 const result = validator('John Doe');CODE
LOW…kages/core-internal/test/validators/validators.test.ts52 expect(result.data).toBe('John Doe');CODE
LOW…kages/core-internal/test/validators/validators.test.ts76 expect(validator('user@example.com').valid).toBe(true);CODE
Cross-Language Confusion (JS/TS)3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHexamples/cli-client/host/ui.ts27 print(text: string): void;CODE
HIGHexamples/cli-client/host/ui.ts129 print(text: string): void {CODE
HIGHexamples/cli-client/script/scriptedUi.ts33 print(text: string): void {CODE
AI Slop Vocabulary4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMtest/integration/test/server/cloudflareWorkers.test.ts134 * cloudflare/workers-sdk#9193); Cloudflare's own CI harness likewise tree-kills ratherCOMMENT
MEDIUMtest/conformance/expected-failures.yaml63 # intentionally absent: the referee SKIPs it unconditionally (harness rewrite pendingCOMMENT
MEDIUMscripts/build-docs-site.sh115# (The v1 docs currently contain none; this keeps the build robust if tags appear.)COMMENT
MEDIUM…ckages/core-internal/test/types/specTypeSchema.test.ts185 // robust to new auth schemas (e.g. IdJagTokenExchangeResponse) without a name-prefix heuristic.COMMENT
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMexamples/shared/src/index.ts1// Argv-parse + assert scaffold (NO SDK calls — those go inline in each story).COMMENT
MEDIUMpackages/codemod/src/utils/detectFormatter.ts115 // git checkout (tarball, fresh scaffold, CI workspace), also stop before ascending into `$HOME`:COMMENT
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHexamples/client-quickstart/src/index.ts187 + '\n export ANTHROPIC_API_KEY=your-api-key-here'CODE
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMexamples/oauth/simpleOAuthClientProvider.ts11 * In-memory OAuth client provider for demonstration purposes.COMMENT
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMexamples/guides/clients/connect.examples.ts51// ## Create a client and connect over HTTPCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/build-docs-site.sh8# Usage:COMMENT