[object Object]

← back to Kimi Mcp

TK-11490: migrate retired kimi-k2.5 -> kimi-k3 across second-model lenses

4125dd5724e3b9d7ecd22efce526efad9911b794 · 2026-09-12 06:36:32 -0700 · Steve Abrams

Moonshot retired kimi-k2.5 (HTTP 404) 2026-09-11; key + $10.93 credit fine.
Repointed to kimi-k3 (Steve's pick) + cost-tracker key moonshot_kimi_k3
(provisional rates, flagged). Historical comments preserved. /ask-kimi
smoke-tested live on k3 (exit 0, $0.0002).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GMqemhzNo8pvYKFkvTRHYv

Files touched

Diff

commit 4125dd5724e3b9d7ecd22efce526efad9911b794
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Sat Sep 12 06:36:32 2026 -0700

    TK-11490: migrate retired kimi-k2.5 -> kimi-k3 across second-model lenses
    
    Moonshot retired kimi-k2.5 (HTTP 404) 2026-09-11; key + $10.93 credit fine.
    Repointed to kimi-k3 (Steve's pick) + cost-tracker key moonshot_kimi_k3
    (provisional rates, flagged). Historical comments preserved. /ask-kimi
    smoke-tested live on k3 (exit 0, $0.0002).
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01GMqemhzNo8pvYKFkvTRHYv
---
 README.md         |  6 +++---
 package.json      |  2 +-
 scripts/smoke.mjs |  2 +-
 server.mjs        | 10 +++++-----
 4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index 182bd03..8cdc174 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
 # kimi-mcp
 
-Owned MCP server that exposes **Moonshot Kimi (`kimi-k2.5`)** to Claude Code as
+Owned MCP server that exposes **Moonshot Kimi (`kimi-k3`)** to Claude Code as
 two **consult** tools. No Kimi CLI, no subscription — it calls the Moonshot API
 directly with your existing `MOONSHOT_API_KEY`.
 
-Model + temperature match the `/dtd` panel (`kimi-k2.5`, `temperature=1`,
+Model + temperature match the `/dtd` panel (`kimi-k3`, `temperature=1`,
 `api.moonshot.ai`) so this is the same Kimi lens you already trust — just
 available as an on-demand tool instead of only inside the debate panel.
 
@@ -22,7 +22,7 @@ answers, it does not act. Paste any needed context/code inline.
 
 Reads env:
 - `MOONSHOT_API_KEY` (required) — routed by the `secrets` skill.
-- `KIMI_MODEL` (optional, default `kimi-k2.5`) — e.g. `kimi-k2.7-code`.
+- `KIMI_MODEL` (optional, default `kimi-k3`) — e.g. `kimi-k2.7-code`.
 - `KIMI_MAX_TOKENS` (optional, default `8000`).
 
 ## Smoke test
diff --git a/package.json b/package.json
index 42d74d1..e9ddfc2 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
   "version": "1.0.0",
   "private": true,
   "type": "module",
-  "description": "Owned MCP server exposing Moonshot Kimi (kimi-k2.5) as ask_kimi / review_with_kimi consult tools — no CLI, no subscription, uses MOONSHOT_API_KEY.",
+  "description": "Owned MCP server exposing Moonshot Kimi (kimi-k3) as ask_kimi / review_with_kimi consult tools — no CLI, no subscription, uses MOONSHOT_API_KEY.",
   "bin": {
     "kimi-mcp": "server.mjs"
   },
diff --git a/scripts/smoke.mjs b/scripts/smoke.mjs
index 42c0ce1..2cb6fe2 100644
--- a/scripts/smoke.mjs
+++ b/scripts/smoke.mjs
@@ -3,7 +3,7 @@
 // are good before wiring the MCP into Claude Code. Reads MOONSHOT_API_KEY from
 // env (pass it in — this repo never stores the key).
 const KEY = process.env.MOONSHOT_API_KEY;
-const MODEL = process.env.KIMI_MODEL || 'kimi-k2.5';
+const MODEL = process.env.KIMI_MODEL || 'kimi-k3';
 if (!KEY) { console.error('MOONSHOT_API_KEY not set'); process.exit(2); }
 
 const res = await fetch('https://api.moonshot.ai/v1/chat/completions', {
diff --git a/server.mjs b/server.mjs
index 9190da3..44490c1 100644
--- a/server.mjs
+++ b/server.mjs
@@ -2,7 +2,7 @@
 // kimi-mcp — owned MCP server exposing Moonshot Kimi as consult tools.
 // Scope: consult only (ask / review). Kimi gets NO filesystem, bash, or agent
 // loop here — it answers, it does not act. Model + temperature match the /dtd
-// panel (kimi-k2.5, temp=1) so this is the same Kimi lens Steve already trusts.
+// panel (kimi-k3, temp=1) so this is the same Kimi lens Steve already trusts.
 import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
 import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
 import { z } from 'zod';
@@ -10,11 +10,11 @@ import { z } from 'zod';
 // ── Constants ────────────────────────────────────────────────────────────────
 const MOONSHOT_API_KEY = process.env.MOONSHOT_API_KEY;
 const MOONSHOT_BASE = 'https://api.moonshot.ai/v1';           // global endpoint (matches /dtd), NOT .cn
-const MODEL = process.env.KIMI_MODEL || 'kimi-k2.5';         // /dtd bakeoff pick; override via KIMI_MODEL
+const MODEL = process.env.KIMI_MODEL || 'kimi-k3';         // /dtd bakeoff pick; override via KIMI_MODEL
 const TEMPERATURE = 1;                                        // Moonshot REQUIRES temp=1 for the k2.x/k3 family
 const MAX_TOKENS = Number(process.env.KIMI_MAX_TOKENS || 8000);
 
-// kimi-k2.5 pay-as-you-go rates (per token), from cost-tracker/pricing.json
+// kimi-k3 pay-as-you-go rates (per token), from cost-tracker/pricing.json
 const RATE_IN = 5.5e-7;
 const RATE_OUT = 2.2e-6;
 
@@ -77,7 +77,7 @@ const server = new McpServer({ name: 'kimi-mcp', version: '1.0.0' });
 
 server.tool(
   'ask_kimi',
-  'Ask Moonshot Kimi (kimi-k2.5) a question and return its answer. Use for a second-opinion / independent reasoning lens, or to offload a self-contained analysis to a different model. Kimi has no access to your files — include any needed context in the prompt.',
+  'Ask Moonshot Kimi (kimi-k3) a question and return its answer. Use for a second-opinion / independent reasoning lens, or to offload a self-contained analysis to a different model. Kimi has no access to your files — include any needed context in the prompt.',
   {
     prompt: z.string().describe('The question or task for Kimi. Self-contained — paste any needed context/code inline.'),
     system: z.string().optional().describe('Optional system instruction to steer Kimi (persona, format, constraints).'),
@@ -96,7 +96,7 @@ server.tool(
 
 server.tool(
   'review_with_kimi',
-  'Have Kimi (kimi-k2.5) review a code snippet or diff for bugs, security issues, edge cases, and quality — an independent adversarial reviewer lens. Paste the code directly (Kimi cannot read your filesystem).',
+  'Have Kimi (kimi-k3) review a code snippet or diff for bugs, security issues, edge cases, and quality — an independent adversarial reviewer lens. Paste the code directly (Kimi cannot read your filesystem).',
   {
     code: z.string().describe('The code, snippet, or unified diff to review. Paste it inline.'),
     focus: z.string().optional().describe('Optional aspect to prioritize (e.g. "security", "concurrency", "the error paths").'),

← 33dc3ce kimi-mcp: owned MCP server exposing Kimi k2.5 as ask_kimi/re  ·  back to Kimi Mcp  ·  kimi-k3 cost footer: use real list rates $3/M in, $15/M out 23af939 →