{"name":"io.github.houtini-ai/lm","slug":"houtini-ai-lm","title":null,"description":"Connect Claude to any OpenAI-compatible LLM endpoint and offload routine work to a local model.","url":"https://mcp.market/server/houtini-ai-lm","rating":null,"grade":"A","score":85,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":51,"stars":121,"forks":26,"downloads_week":412,"last_push_at":"2026-10-25T09:59:04.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/houtini-ai/houtini-lm","website":"https://houtini.com","version":"3.3.4","remotes":[],"packages":[{"registryType":"npm","identifier":"@houtini/lm","version":"3.3.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL of the OpenAI-compatible API endpoint (e.g. http://localhost:1234, https://openrouter.ai/api). Legacy alias: LM_STUDIO_URL.","format":"string","name":"HOUTINI_LM_ENDPOINT_URL"},{"description":"Bearer token for API authentication (no auth if blank). Legacy aliases: LM_STUDIO_PASSWORD, LM_PASSWORD, OPENROUTER_API_KEY.","format":"string","isSecret":true,"name":"HOUTINI_LM_API_KEY"},{"description":"Model identifier to use for requests (auto-detected if not set). Legacy alias: LM_STUDIO_MODEL.","format":"string","name":"HOUTINI_LM_MODEL"},{"description":"Optional provider override: 'openrouter' forces OpenRouter-specific handling (attribution headers, reasoning.exclude, no inference serialisation). Auto-detected from the endpoint URL when possible.","format":"string","name":"HOUTINI_LM_PROVIDER"}]}],"tools":[{"name":"chat","description":"Send a task to a local LLM - a sidekick running on the user's hardware or a configured OpenAI-compatible endpoint.","write_action":true,"price_micros":0,"input_schema":null},{"name":"code_task","description":"Send a code-specific task to the local LLM, wrapped with an optimised code-review system prompt. Temperature is locked low (0.2 or the routed model's hint) for deterministic output.","write_action":true,"price_micros":0,"input_schema":null},{"name":"code_task_files","description":"Like code_task, but the local LLM reads files directly from disk - source never passes through the MCP client's context window. Use when reviewing multiple files or a single large file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"custom_prompt","description":"Structured analysis via the local LLM with explicit system/context/instruction separation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"discover","description":"Check whether the local LLM is online and what model is loaded. Returns model name, context window size,","write_action":false,"price_micros":0,"input_schema":null},{"name":"embed","description":"Generate text embeddings via the local LLM server. Requires an embedding model to be loaded","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_models","description":"List all models on the local LLM server - both loaded (ready) and available (downloaded but not active).","write_action":false,"price_micros":0,"input_schema":null},{"name":"stats","description":"Show user stats: tokens offloaded, calls made, per-model performance - for the current session AND","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":85,"grade":"A","scanned_at":"2026-11-03T23:29:25.546Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-03T23:29:25.498Z","components":{"code":{"score":25,"max":25,"notes":["18 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 10 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@houtini/lm","version":"3.3.4","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-10-07T07:11:39.306Z","repositoryUrl":"git+https://github.com/houtini-ai/houtini-lm.git","weeklyDownloads":412}],"repo":{"found":true,"owner":"houtini-ai","repo":"houtini-lm","archived":false,"pushedAt":"2026-10-25T09:59:04Z","stars":121,"forks":26,"openIssues":5,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/229963303?v=4","ownerCreatedAt":"2025-09-02T13:29:01Z","license":"Apache-2.0"},"icon":{"url":"https://raw.githubusercontent.com/houtini-ai/houtini-lm/main/assets/logo.png","source":"registry","width":512,"height":512},"presence":{"stars":121,"forks":26,"downloadsWeek":412,"license":"Apache-2.0","lastPushAt":"2026-10-25T09:59:04.000Z","score":51}}}},"grade_history":[],"reviews":[]}