{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.faulkj/legion","description":"MCP-native LLM councils for debates, juries, blind panels, refinement, and custom deliberation.","repository":{"url":"https://github.com/faulkj/legion-mcp","source":"github"},"version":"0.3.1","packages":[{"registryType":"npm","identifier":"legion-mcp","version":"0.3.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Default OpenAI Responses-compatible API root for model files that omit baseUrl.","format":"string","placeholder":"https://api.openai.com/v1","name":"DEFAULT_BASE_URL"},{"description":"Default provider or gateway key for model files that omit apiKey.","format":"string","isSecret":true,"name":"DEFAULT_API_KEY"},{"description":"Maximum discussion rounds accepted by a council run.","format":"number","default":"5","name":"MAX_ROUNDS"},{"description":"Optional soft cumulative token budget for a council run.","format":"number","name":"TOKEN_BUDGET"},{"description":"Allow callers to define ad-hoc council roles inline.","format":"boolean","default":"true","name":"DYNAMIC_ROLES"},{"description":"Logging verbosity. Logs are written to stderr for stdio safety.","format":"string","default":"info","choices":["debug","info","warn","error"],"name":"LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-26T07:18:17.223597Z","publishedAt":"2026-08-26T07:18:17.223597Z","updatedAt":"2026-08-26T07:18:17.223597Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.faulkj/legion","description":"MCP-native LLM councils for debates, juries, blind panels, refinement, and custom deliberation.","repository":{"url":"https://github.com/faulkj/legion-mcp","source":"github"},"version":"0.3.2","packages":[{"registryType":"npm","identifier":"legion-mcp","version":"0.3.2","transport":{"type":"stdio"},"packageArguments":[{"description":"Run over MCP stdio (the binary defaults to HTTP).","value":"stdio","type":"positional"}],"environmentVariables":[{"description":"Default OpenAI Responses-compatible API root for model files that omit baseUrl.","format":"string","placeholder":"https://api.openai.com/v1","name":"DEFAULT_BASE_URL"},{"description":"Default provider or gateway key for model files that omit apiKey.","format":"string","isSecret":true,"name":"DEFAULT_API_KEY"},{"description":"Maximum discussion rounds accepted by a council run.","format":"number","default":"5","name":"MAX_ROUNDS"},{"description":"Optional soft cumulative token budget for a council run.","format":"number","name":"TOKEN_BUDGET"},{"description":"Allow callers to define ad-hoc council roles inline.","format":"boolean","default":"true","name":"DYNAMIC_ROLES"},{"description":"Logging verbosity. Logs are written to stderr for stdio safety.","format":"string","default":"info","choices":["debug","info","warn","error"],"name":"LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-28T02:09:20.195487Z","publishedAt":"2026-08-28T02:09:20.195487Z","updatedAt":"2026-08-28T02:09:20.195487Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.faulkj/legion","description":"MCP-native LLM councils for debates, juries, blind panels, refinement, and custom deliberation.","repository":{"url":"https://github.com/faulkj/legion-mcp","source":"github"},"version":"0.4.0","packages":[{"registryType":"npm","identifier":"legion-mcp","version":"0.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Run the installed package over MCP stdio (the binary defaults to HTTP).","isRequired":true,"format":"string","value":"stdio","name":"MCP_TRANSPORT"},{"description":"Default OpenAI Responses-compatible API root for model files that omit baseUrl.","format":"string","placeholder":"https://api.openai.com/v1","name":"DEFAULT_BASE_URL"},{"description":"Default provider or gateway key for model files that omit apiKey.","format":"string","isSecret":true,"name":"DEFAULT_API_KEY"},{"description":"Maximum discussion rounds accepted by a council run.","format":"number","default":"5","name":"MAX_ROUNDS"},{"description":"Optional soft cumulative token budget for a council run.","format":"number","name":"TOKEN_BUDGET"},{"description":"Allow callers to define ad-hoc council roles inline.","format":"boolean","default":"true","name":"DYNAMIC_ROLES"},{"description":"Logging verbosity. Logs are written to stderr for stdio safety.","format":"string","default":"info","choices":["debug","info","warn","error"],"name":"LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-28T02:18:17.892214Z","publishedAt":"2026-08-28T02:18:17.892214Z","updatedAt":"2026-08-28T02:18:17.892214Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.faulkj/legion","description":"MCP-native LLM councils for debates, juries, blind panels, refinement, and custom deliberation.","repository":{"url":"https://github.com/faulkj/legion-mcp","source":"github"},"version":"0.4.1","packages":[{"registryType":"npm","identifier":"legion-mcp","version":"0.4.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Run the installed package over MCP stdio (the binary defaults to HTTP).","isRequired":true,"format":"string","value":"stdio","name":"MCP_TRANSPORT"},{"description":"Default OpenAI Responses-compatible API root for model files that omit baseUrl.","format":"string","placeholder":"https://api.openai.com/v1","name":"DEFAULT_BASE_URL"},{"description":"Default provider or gateway key for model files that omit apiKey.","format":"string","isSecret":true,"name":"DEFAULT_API_KEY"},{"description":"Maximum discussion rounds accepted by a council run.","format":"number","default":"5","name":"MAX_ROUNDS"},{"description":"Optional soft cumulative token budget for a council run.","format":"number","name":"TOKEN_BUDGET"},{"description":"Allow callers to define ad-hoc council roles inline.","format":"boolean","default":"true","name":"DYNAMIC_ROLES"},{"description":"Logging verbosity. Logs are written to stderr for stdio safety.","format":"string","default":"info","choices":["debug","info","warn","error"],"name":"LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-28T02:23:19.140323Z","publishedAt":"2026-08-28T02:23:19.140323Z","updatedAt":"2026-08-28T02:23:19.140323Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.faulkj/legion","description":"MCP-native LLM councils for debates, juries, blind panels, refinement, and custom deliberation.","repository":{"url":"https://github.com/faulkj/legion-mcp","source":"github"},"version":"0.5.0","packages":[{"registryType":"npm","identifier":"legion-mcp","version":"0.5.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Run the installed package over MCP stdio (the binary defaults to HTTP).","isRequired":true,"format":"string","value":"stdio","name":"MCP_TRANSPORT"},{"description":"Default OpenAI Responses-compatible API root for model files that omit baseUrl.","format":"string","placeholder":"https://api.openai.com/v1","name":"DEFAULT_BASE_URL"},{"description":"Default provider or gateway key for model files that omit apiKey.","format":"string","isSecret":true,"name":"DEFAULT_API_KEY"},{"description":"Optional. A model file's apiKey may be \"env:VAR\" to read the key from an environment variable named VAR at startup; name those variables here as needed.","format":"string","isSecret":true,"name":"GPT_API_KEY"},{"description":"Maximum discussion rounds accepted by a council run.","format":"number","default":"5","name":"MAX_ROUNDS"},{"description":"Optional soft cumulative token budget for a council run.","format":"number","name":"TOKEN_BUDGET"},{"description":"Allow callers to define ad-hoc council roles inline.","format":"boolean","default":"true","name":"DYNAMIC_ROLES"},{"description":"Logging verbosity. Logs are written to stderr for stdio safety.","format":"string","default":"info","choices":["debug","info","warn","error"],"name":"LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-22T23:49:04.134465Z","publishedAt":"2026-09-22T23:49:04.134465Z","updatedAt":"2026-09-22T23:49:04.134465Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.faulkj/legion","description":"MCP-native LLM councils for debates, juries, blind panels, refinement, and custom deliberation.","repository":{"url":"https://github.com/faulkj/legion-mcp","source":"github"},"version":"0.6.0","packages":[{"registryType":"npm","identifier":"legion-mcp","version":"0.6.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Run the installed package over MCP stdio (the binary defaults to HTTP).","isRequired":true,"format":"string","value":"stdio","name":"MCP_TRANSPORT"},{"description":"Default OpenAI Responses-compatible API root for model files that omit baseUrl.","format":"string","placeholder":"https://api.openai.com/v1","name":"DEFAULT_BASE_URL"},{"description":"Default provider or gateway key for model files that omit apiKey.","format":"string","isSecret":true,"name":"DEFAULT_API_KEY"},{"description":"Optional. A model file's apiKey may be \"env:VAR\" to read the key from an environment variable named VAR at startup; name those variables here as needed.","format":"string","isSecret":true,"name":"GPT_API_KEY"},{"description":"Maximum discussion rounds accepted by a council run.","format":"number","default":"5","name":"MAX_ROUNDS"},{"description":"Optional soft cumulative token budget for a council run.","format":"number","name":"TOKEN_BUDGET"},{"description":"Allow callers to define ad-hoc council roles inline.","format":"boolean","default":"true","name":"DYNAMIC_ROLES"},{"description":"Logging verbosity. Logs are written to stderr for stdio safety.","format":"string","default":"info","choices":["debug","info","warn","error"],"name":"LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-24T00:29:28.147381Z","publishedAt":"2026-09-24T00:29:28.147381Z","updatedAt":"2026-09-24T00:29:28.147381Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.faulkj/legion","description":"MCP-native LLM councils for debates, juries, blind panels, refinement, and custom deliberation.","repository":{"url":"https://github.com/faulkj/legion-mcp","source":"github"},"version":"0.7.0","packages":[{"registryType":"npm","identifier":"legion-mcp","version":"0.7.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Run the installed package over MCP stdio (the binary defaults to HTTP).","isRequired":true,"format":"string","value":"stdio","name":"MCP_TRANSPORT"},{"description":"Default OpenAI Responses-compatible API root for model files that omit baseUrl.","format":"string","placeholder":"https://api.openai.com/v1","name":"DEFAULT_BASE_URL"},{"description":"Default provider or gateway key for model files that omit apiKey.","format":"string","isSecret":true,"name":"DEFAULT_API_KEY"},{"description":"Boot without any config/models/*.json. The package ships only key-free examples, which the scanner ignores, so this must stay true until a real model file exists beside the working directory.","isRequired":true,"format":"boolean","value":"true","name":"ALLOW_NO_MODELS"},{"description":"Optional. A model file's apiKey may be \"env:VAR\" to read the key from an environment variable named VAR at startup; name those variables here as needed. The bundled gpt example reads this one.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Maximum discussion rounds accepted by a council run.","format":"number","default":"5","name":"MAX_ROUNDS"},{"description":"Optional soft cumulative token budget for a council run.","format":"number","name":"TOKEN_BUDGET"},{"description":"Allow callers to define ad-hoc council roles inline.","format":"boolean","default":"true","name":"DYNAMIC_ROLES"},{"description":"Logging verbosity. Logs are written to stderr for stdio safety.","format":"string","default":"info","choices":["debug","info","warn","error"],"name":"LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-25T23:33:36.105467Z","publishedAt":"2026-09-25T23:33:36.105467Z","updatedAt":"2026-09-25T23:33:36.105467Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.faulkj/legion","description":"MCP-native LLM councils for debates, juries, blind panels, refinement, and custom deliberation.","repository":{"url":"https://github.com/faulkj/legion-mcp","source":"github"},"version":"0.8.0","packages":[{"registryType":"npm","identifier":"legion-mcp","version":"0.8.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Run the installed package over MCP stdio (the binary defaults to HTTP).","isRequired":true,"format":"string","value":"stdio","name":"MCP_TRANSPORT"},{"description":"Default OpenAI Responses-compatible API root for model files that omit baseUrl.","format":"string","placeholder":"https://api.openai.com/v1","name":"DEFAULT_BASE_URL"},{"description":"Default provider or gateway key for model files that omit apiKey.","format":"string","isSecret":true,"name":"DEFAULT_API_KEY"},{"description":"Boot without any config/models/*.json. The package ships only key-free examples, which the scanner ignores, so this must stay true until a real model file exists beside the working directory.","isRequired":true,"format":"boolean","value":"true","name":"ALLOW_NO_MODELS"},{"description":"Optional. A model file's apiKey may be \"env:VAR\" to read the key from an environment variable named VAR at startup; name those variables here as needed. The bundled gpt example reads this one.","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Maximum discussion rounds accepted by a council run.","format":"number","default":"5","name":"MAX_ROUNDS"},{"description":"Optional soft cumulative token budget for a council run.","format":"number","name":"TOKEN_BUDGET"},{"description":"Allow callers to define ad-hoc council roles inline.","format":"boolean","default":"true","name":"DYNAMIC_ROLES"},{"description":"Logging verbosity. Logs are written to stderr for stdio safety.","format":"string","default":"info","choices":["debug","info","warn","error"],"name":"LOG_LEVEL"},{"description":"Run councils in the background: council tools return a job handle and poll/cancel tools are exposed. Jobs live in process memory only.","format":"boolean","default":"false","name":"ASYNC_TOOLS"},{"description":"Bind async jobs to the caller named by X-MS-CLIENT-PRINCIPAL-* headers. Only safe behind an ingress that strips client-supplied copies.","format":"boolean","default":"false","name":"TRUST_PROXY_AUTH"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-06T23:12:12.030829Z","publishedAt":"2026-10-06T23:12:12.030829Z","updatedAt":"2026-10-06T23:12:12.030829Z","isLatest":true}}}],"metadata":{"count":8}}
