Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@ export default defineConfig({
format: 'preserve',
},
trailingSlash: 'ignore',
redirects: {
'/blog/connect-continue-to-pilot-protocol': '/docs/mcp-setup',
},
});
14 changes: 10 additions & 4 deletions scripts/check-site-integrity.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,16 @@ const htmlCache = new Map();
const idsCache = new Map();
const errors = [];
let referencesChecked = 0;
const publicHtmlFiles = htmlFiles.filter((file) => {
const publicHtmlFiles = [];
for (const file of htmlFiles) {
const route = routeForFile(file);
return !route.startsWith('/plain/') && route !== '/404' && route !== '/500';
});
if (route.startsWith('/plain/') || route === '/404' || route === '/500') continue;
const html = await readFile(file, 'utf8');
htmlCache.set(file, html);
const redirect = /<meta\b[^>]*http-equiv=["']refresh["']/i.test(html)
&& /<meta\b[^>]*name=["']robots["'][^>]*content=["'][^"']*noindex/i.test(html);
if (!redirect) publicHtmlFiles.push(file);
}
const publicRoutes = new Set(publicHtmlFiles.map((file) => normalizedRoute(routeForFile(file))));
const inlinks = new Map([...publicRoutes].map((route) => [route, new Set()]));

Expand Down Expand Up @@ -248,7 +254,7 @@ let publicPagesChecked = 0;
for (const file of htmlFiles) {
const label = sourceLabel(file);
const route = routeForFile(file);
if (route.startsWith('/plain/') || route === '/404' || route === '/500') continue;
if (!publicRoutes.has(normalizedRoute(route))) continue;

publicPagesChecked += 1;
const html = await htmlFor(file);
Expand Down
10 changes: 0 additions & 10 deletions src/data/blogPosts.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,6 @@
"banner": "banners/pilot-harness-integrations.svg",
"iso_date": "2026-09-05"
},
{
"slug": "connect-continue-to-pilot-protocol",
"title": "Connect Continue to Pilot Protocol with MCP Setup Guide",
"description": "Merge Pilot into Continue’s current YAML agent configuration without overwriting models, rules, or existing MCP servers.",
"date": "Sep 5",
"category": "Integration",
"tags": ["continue", "mcp", "integration"],
"banner": "banners/pilot-harness-integrations.svg",
"iso_date": "2026-09-05"
},
{
"slug": "connect-hermes-to-pilot-protocol",
"title": "Connect Hermes to Pilot Protocol with MCP and Hooks",
Expand Down
1 change: 0 additions & 1 deletion src/data/managedDocs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,6 @@ export const managedDocs: Record<string, ManagedDoc> = {
<tr><td>Hermes Agent</td><td>Native CLI/Gateway pre/post tool hooks; pinned wire protocol verified.</td><td>Malformed output, process death, and timeout behavior requires additional containment because upstream failure modes may be fail open.</td></tr>
<tr><td>Cline</td><td>Global <code>PreToolUse</code>/<code>PostToolUse</code> scripts for desktop and SDK-hosted tools.</td><td>Hook crashes and timeouts are documented as fail open; existing global hooks must be composed explicitly.</td></tr>
<tr><td>Cursor</td><td>Native pre/post tool hooks with fail-closed Pilot preflights.</td><td>User hooks do not reach cloud agents; use repository, team, or enterprise distribution there.</td></tr>
<tr><td>Continue</td><td>Pilot MCP calls plus Continue's static allow/ask/exclude permissions.</td><td>No universal external pre/post hook was found; do not claim whole-agent semantic control.</td></tr>
<tr><td>JetBrains Junie</td><td>Pilot MCP plus Junie's action allowlist.</td><td>Native Junie actions remain outside Pilot evaluation without a supported interception API.</td></tr>
<tr><td>PicoClaw</td><td>JSON-RPC process hooks for <code>before_tool</code>/<code>after_tool</code>.</td><td>The upstream runtime is pre-1.0. Pin and certify an exact build; it is not production-certified.</td></tr>
<tr><td>Any MCP client</td><td>Complete arguments and results for calls to the Pilot MCP server.</td><td>Installing Pilot MCP does not intercept other MCP servers or built-in shell, browser, or file tools.</td></tr>
Expand Down
15 changes: 0 additions & 15 deletions src/pages/blog/connect-continue-to-pilot-protocol.astro

This file was deleted.

2 changes: 1 addition & 1 deletion src/pages/docs/mcp-setup.astro
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import DocLayout from "../../layouts/DocLayout.astro";

<h2 id="what">What pilotprotocol-mcp is</h2>

<p><a href="https://github.com/pilot-protocol/pilot-mcp"><code>pilotprotocol-mcp</code></a> is an MCP server that fronts the Pilot overlay. Your MCP client — Claude Code, Cursor, Cline, OpenClaw, Hermes, OpenHands, Continue.dev, Codex CLI, Junie, GitHub Copilot, PicoClaw — gets the specialist directory, typed queries, and A2A messaging as MCP tools, without learning <code>pilotctl</code>.</p>
<p><a href="https://github.com/pilot-protocol/pilot-mcp"><code>pilotprotocol-mcp</code></a> is an MCP server that fronts the Pilot overlay. Your MCP client — Claude Code, Cursor, Cline, OpenClaw, Hermes, OpenHands, Codex CLI, Junie, GitHub Copilot, PicoClaw — gets the specialist directory, typed queries, and A2A messaging as MCP tools, without learning <code>pilotctl</code>.</p>

<p><strong>MCP gave your agent tools. Pilot gives your agent peers</strong> — a directory of 430 specialists you can query without an API key, plus a direct message path to other operators' agents over an encrypted P2P network.</p>

Expand Down
2 changes: 1 addition & 1 deletion src/pages/plain/docs/mcp-setup.astro
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
// Auto-generated by scripts/regen-plain.mjs. Edit the marketing source and re-run.
// plain-source: src/pages/docs/mcp-setup.astro
// plain-source-sha256: dd333bed04cb71cea4656bbb9083f76728c7df84e62c6af1376a961dfaffb0eb
// plain-source-sha256: 2683a6fd07c7d3493bf564759151b2124f470e32acccfdc62577521f277f7268
import PlainLayout from '../../../layouts/PlainLayout.astro';
---
<PlainLayout title="MCP Setup — Pilot Protocol (plain)" description="Connect Claude Code, Cursor, and other MCP clients to the Pilot overlay with pilotprotocol-mcp — 430 specialists and A2A messaging as one MCP server. One command configures every harness." canonical="https://pilotprotocol.network/plain/docs/mcp-setup/">
Expand Down
Loading