{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.33.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.33.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-10T15:06:44.032884Z","publishedAt":"2026-10-10T15:06:44.032884Z","updatedAt":"2026-10-10T15:06:44.032884Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.34.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.34.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-10T16:38:23.612201Z","publishedAt":"2026-10-10T16:38:23.612201Z","updatedAt":"2026-10-10T16:38:23.612201Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.35.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.35.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-10T17:54:18.420506Z","publishedAt":"2026-10-10T17:54:18.420506Z","updatedAt":"2026-10-10T17:54:18.420506Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.36.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.36.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T13:29:38.24835Z","publishedAt":"2026-10-11T13:29:38.24835Z","updatedAt":"2026-10-11T13:29:38.24835Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.37.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.37.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T14:18:51.105216Z","publishedAt":"2026-10-11T14:18:51.105216Z","updatedAt":"2026-10-11T14:18:51.105216Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.38.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.38.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T14:47:02.910276Z","publishedAt":"2026-10-11T14:47:02.910276Z","updatedAt":"2026-10-11T14:47:02.910276Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.39.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.39.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T15:08:23.796034Z","publishedAt":"2026-10-11T15:08:23.796034Z","updatedAt":"2026-10-11T15:08:23.796034Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.40.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.40.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T15:23:13.946119Z","publishedAt":"2026-10-11T15:23:13.946119Z","updatedAt":"2026-10-11T15:23:13.946119Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.41.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.41.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T15:36:56.197755Z","publishedAt":"2026-10-11T15:36:56.197755Z","updatedAt":"2026-10-11T15:36:56.197755Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.42.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.42.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T15:54:49.097941Z","publishedAt":"2026-10-11T15:54:49.097941Z","updatedAt":"2026-10-11T15:54:49.097941Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.43.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.43.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T16:16:20.740808Z","publishedAt":"2026-10-11T16:16:20.740808Z","updatedAt":"2026-10-11T16:16:20.740808Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.44.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.44.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T16:22:15.88207Z","publishedAt":"2026-10-11T16:22:15.88207Z","updatedAt":"2026-10-11T16:22:15.88207Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.45.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.45.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T16:24:15.943474Z","publishedAt":"2026-10-11T16:24:15.943474Z","updatedAt":"2026-10-11T16:24:15.943474Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.46.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.46.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T22:00:33.501158Z","publishedAt":"2026-10-11T22:00:33.501158Z","updatedAt":"2026-10-11T22:00:33.501158Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.47.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.47.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T22:19:51.905374Z","publishedAt":"2026-10-11T22:19:51.905374Z","updatedAt":"2026-10-11T22:19:51.905374Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.48.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.48.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T22:31:08.397121Z","publishedAt":"2026-10-11T22:31:08.397121Z","updatedAt":"2026-10-11T22:31:08.397121Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.49.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.49.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-11T22:44:42.040781Z","publishedAt":"2026-10-11T22:44:42.040781Z","updatedAt":"2026-10-11T22:44:42.040781Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.51.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.51.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-12T14:45:50.43052Z","publishedAt":"2026-10-12T14:45:50.43052Z","updatedAt":"2026-10-12T14:45:50.43052Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.52.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.52.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-12T15:12:46.150293Z","publishedAt":"2026-10-12T15:12:46.150293Z","updatedAt":"2026-10-12T15:12:46.150293Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.53.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.53.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-12T15:23:06.563892Z","publishedAt":"2026-10-12T15:23:06.563892Z","updatedAt":"2026-10-12T15:23:06.563892Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.54.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.54.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-12T16:31:01.598318Z","publishedAt":"2026-10-12T16:31:01.598318Z","updatedAt":"2026-10-12T16:31:01.598318Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.55.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.55.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-15T22:05:12.066435Z","publishedAt":"2026-10-15T22:05:12.066435Z","updatedAt":"2026-10-15T22:05:12.066435Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.56.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.56.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-15T22:28:29.936629Z","publishedAt":"2026-10-15T22:28:29.936629Z","updatedAt":"2026-10-15T22:28:29.936629Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.57.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.57.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-15T23:00:54.264169Z","publishedAt":"2026-10-15T23:00:54.264169Z","updatedAt":"2026-10-15T23:00:54.264169Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.58.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.58.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-15T23:23:25.504612Z","publishedAt":"2026-10-15T23:23:25.504612Z","updatedAt":"2026-10-15T23:23:25.504612Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.59.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.59.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-17T13:42:07.284494Z","publishedAt":"2026-10-17T13:42:07.284494Z","updatedAt":"2026-10-17T13:42:07.284494Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.60.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.60.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-17T14:10:09.484128Z","publishedAt":"2026-10-17T14:10:09.484128Z","updatedAt":"2026-10-17T14:10:09.484128Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.61.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.61.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-17T14:26:13.977514Z","publishedAt":"2026-10-17T14:26:13.977514Z","updatedAt":"2026-10-17T14:26:13.977514Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.62.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.62.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-17T15:00:52.691753Z","publishedAt":"2026-10-17T15:00:52.691753Z","updatedAt":"2026-10-17T15:00:52.691753Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.hmamut39/tewip","description":"Proves software work: triages failing tests, checks whether a test can fail, and reads migrations.","repository":{"url":"https://github.com/hmamut39/tewip","source":"github"},"version":"0.63.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"tewip-ai","version":"0.63.0","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"mcp"}],"environmentVariables":[{"description":"Optional. Turns on the AI layer for failures the deterministic rules cannot decide. Without it only the rules run, and Tewip says which layer decided each answer.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-17T15:20:16.554529Z","publishedAt":"2026-10-17T15:20:16.554529Z","updatedAt":"2026-10-17T15:20:16.554529Z","isLatest":false}}}],"metadata":{"nextCursor":"io.github.hmamut39/tewip:0.63.0","count":30}}
