<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to MCP Server</title><link>https://sourceforge.net/p/lastest/wiki/MCP%2520Server/</link><description>Recent changes to MCP Server</description><atom:link href="https://sourceforge.net/p/lastest/wiki/MCP%20Server/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 06 May 2026 09:06:52 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/lastest/wiki/MCP%20Server/feed" rel="self" type="application/rss+xml"/><item><title>MCP Server modified by Viktor Fási</title><link>https://sourceforge.net/p/lastest/wiki/MCP%2520Server/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="h-mcp-server"&gt;MCP Server&lt;/h1&gt;
&lt;p&gt;The &lt;strong&gt;Lastest MCP server&lt;/strong&gt; (&lt;code&gt;@lastest/mcp-server&lt;/code&gt;) is a &lt;a href="https://modelcontextprotocol.io" rel="nofollow"&gt;Model Context Protocol&lt;/a&gt; server that lets AI agents (Claude Code, Claude Desktop, Cursor, Cline, Windsurf, etc.) drive your Lastest instance directly.&lt;/p&gt;
&lt;p&gt;With it, an agent can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;List repositories, tests, functional areas, and builds&lt;/li&gt;
&lt;li&gt;Create and run tests, including AI-authored tests from a URL or prompt&lt;/li&gt;
&lt;li&gt;Inspect test runs and background jobs&lt;/li&gt;
&lt;li&gt;Review visual diffs and approve / reject baselines&lt;/li&gt;
&lt;li&gt;Heal failing tests via AI&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h-package"&gt;Package&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;npm: &lt;a href="https://www.npmjs.com/package/@lastest/mcp-server" rel="nofollow"&gt;&lt;code&gt;@lastest/mcp-server&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Source: &lt;a href="https://github.com/las-team/lastest/tree/main/packages/mcp-server" rel="nofollow"&gt;&lt;code&gt;packages/mcp-server&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Transport: &lt;code&gt;stdio&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Bin: &lt;code&gt;lastest-mcp&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h-prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;A running Lastest instance reachable over HTTP(S).&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;API key&lt;/strong&gt; generated from the Lastest UI: &lt;strong&gt;Settings → Agents &amp;amp; API Access → Create API Key&lt;/strong&gt; (see &lt;a class="alink" href="/p/lastest/wiki/Settings%20Reference/"&gt;[Settings Reference]&lt;/a&gt;). Copy the key — it is shown only once.&lt;/li&gt;
&lt;li&gt;Node.js 18+ on the machine running the agent.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="h-quick-start-claude-code"&gt;Quick start — Claude Code&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;claude&lt;span class="w"&gt; &lt;/span&gt;mcp&lt;span class="w"&gt; &lt;/span&gt;add&lt;span class="w"&gt; &lt;/span&gt;lastest&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="w"&gt; &lt;/span&gt;npx&lt;span class="w"&gt; &lt;/span&gt;-y&lt;span class="w"&gt; &lt;/span&gt;@lastest/mcp-server@latest&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;--url&lt;span class="w"&gt; &lt;/span&gt;https://your-lastest-instance&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;--api-key&lt;span class="w"&gt; &lt;/span&gt;YOUR_API_KEY
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Verify it loaded:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;claude&lt;span class="w"&gt; &lt;/span&gt;mcp&lt;span class="w"&gt; &lt;/span&gt;list
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="h-quick-start-claude-desktop-generic-json-config"&gt;Quick start — Claude Desktop / generic JSON config&lt;/h2&gt;
&lt;p&gt;Add this to &lt;code&gt;claude_desktop_config.json&lt;/code&gt; (or any MCP-compatible client config):&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nt"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;"lastest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="nt"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="nt"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"@lastest/mcp-server@latest"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"--url"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"https://your-lastest-instance"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"--api-key"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"YOUR_API_KEY"&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Restart the client after editing.&lt;/p&gt;
&lt;h2 id="h-cursor"&gt;Cursor&lt;/h2&gt;
&lt;p&gt;Cursor reads &lt;code&gt;~/.cursor/mcp.json&lt;/code&gt;. Use the same JSON shape as Claude Desktop above.&lt;/p&gt;
&lt;h2 id="h-available-tools"&gt;Available tools&lt;/h2&gt;
&lt;p&gt;The server exposes a tool per high-level operation. Names may evolve — use the agent's "list tools" command to see the current set. Categories:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Examples&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Repositories&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_repos&lt;/code&gt;, &lt;code&gt;get_repo&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tests&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_tests&lt;/code&gt;, &lt;code&gt;get_test&lt;/code&gt;, &lt;code&gt;create_test&lt;/code&gt;, &lt;code&gt;update_test&lt;/code&gt;, &lt;code&gt;delete_test&lt;/code&gt;, &lt;code&gt;heal_test&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Functional areas&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_areas&lt;/code&gt;, &lt;code&gt;create_area&lt;/code&gt;, &lt;code&gt;list_tests_by_area&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Builds &amp;amp; runs&lt;/td&gt;
&lt;td&gt;&lt;code&gt;create_build&lt;/code&gt;, &lt;code&gt;get_build&lt;/code&gt;, &lt;code&gt;list_builds&lt;/code&gt;, &lt;code&gt;get_run&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Diffs&lt;/td&gt;
&lt;td&gt;&lt;code&gt;get_diff&lt;/code&gt;, &lt;code&gt;approve_diff&lt;/code&gt;, &lt;code&gt;reject_diff&lt;/code&gt;, &lt;code&gt;approve_all_diffs&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jobs&lt;/td&gt;
&lt;td&gt;&lt;code&gt;get_active_jobs&lt;/code&gt;, &lt;code&gt;get_job&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Coverage&lt;/td&gt;
&lt;td&gt;&lt;code&gt;get_coverage&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;All tools return a structured &lt;code&gt;ToolResponse&lt;/code&gt; with &lt;code&gt;status&lt;/code&gt;, &lt;code&gt;summary&lt;/code&gt;, optional &lt;code&gt;actionRequired&lt;/code&gt;, and &lt;code&gt;details&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="h-authentication"&gt;Authentication&lt;/h2&gt;
&lt;p&gt;The MCP server authenticates against Lastest's REST API (&lt;code&gt;/api/v1/*&lt;/code&gt;) with a &lt;code&gt;Bearer&lt;/code&gt; token. The same key works for the &lt;a href="./VSCode-Extension-API"&gt;VSCode Extension API&lt;/a&gt;. Manage and revoke keys from &lt;strong&gt;Settings → Agents &amp;amp; API Access&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="h-troubleshooting"&gt;Troubleshooting&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Symptom&lt;/th&gt;
&lt;th&gt;Fix&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Failed to connect to Lastest at ...&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Check the URL is reachable from the machine running the agent and that the API key is valid.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Lastest API error 401&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Token revoked or expired — generate a new one in Settings.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tools don't appear in Claude Code&lt;/td&gt;
&lt;td&gt;Run &lt;code&gt;claude mcp list&lt;/code&gt;; if missing, re-run &lt;code&gt;claude mcp add&lt;/code&gt;. Restart the client.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;command not found: npx&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Install Node.js 18+.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="h-local-development"&gt;Local development&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;packages/mcp-server
pnpm&lt;span class="w"&gt; &lt;/span&gt;install
pnpm&lt;span class="w"&gt; &lt;/span&gt;dev&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="w"&gt; &lt;/span&gt;--url&lt;span class="w"&gt; &lt;/span&gt;http://localhost:3000&lt;span class="w"&gt; &lt;/span&gt;--api-key&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;key&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="h-see-also"&gt;See also&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="alink" href="/p/lastest/wiki/VSCode%20Extension%20API/"&gt;[VSCode Extension API]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="alink" href="/p/lastest/wiki/Remote%20Runners/"&gt;[Remote Runners]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="alink" href="/p/lastest/wiki/Settings%20Reference/"&gt;[Settings Reference]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Viktor Fási</dc:creator><pubDate>Wed, 06 May 2026 09:06:52 -0000</pubDate><guid>https://sourceforge.neteee40dd4025b2499790c50491f98082665b20ee3</guid></item></channel></rss>