mcmqtt/docs-site/astro.config.mjs
Ryan Malloy 33189816f2 Add agent-to-agent coordination protocol with host/join handshake
Solves the "ships passing in the night" problem where agents publish
messages before other agents have subscribed, causing dropped messages.

New tools:
- mqtt_host_conversation: Initiating agent hosts and waits for joiners
- mqtt_join_conversation: Joining agents connect and signal ready
- mqtt_conversation_status: Check conversation state
- mqtt_list_conversations: List active conversations

The protocol guarantees no messages are dropped by ensuring all expected
agents are subscribed before the host begins publishing.
2026-02-07 04:40:30 -07:00

210 lines
7.2 KiB
JavaScript

import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import alpinejs from '@astrojs/alpinejs';
export default defineConfig({
site: 'https://mcmqtt.dev',
base: '/',
trailingSlash: 'ignore',
build: {
format: 'directory',
},
integrations: [
alpinejs(),
starlight({
title: 'mcmqtt - AI Coordination Platform',
description: 'The definitive platform for AI coordination with revolutionary fractal agent swarms. Deploy sophisticated multi-agent systems with zero-config infrastructure and production-grade safety.',
logo: {
src: './src/assets/mcmqtt-logo.svg',
replacesTitle: true,
},
social: {
github: 'https://git.supported.systems/MCP/mcmqtt',
discord: 'https://discord.gg/mcmqtt',
twitter: 'https://twitter.com/mcmqtt',
},
editLink: {
baseUrl: 'https://git.supported.systems/MCP/mcmqtt/edit/main/docs-site/',
},
lastUpdated: true,
customCss: [
'./src/styles/custom.css',
],
components: {
Head: './src/components/Head.astro',
Hero: './src/components/Hero.astro',
},
favicon: '/favicon.svg',
sidebar: [
{
label: 'Start Here',
items: [
{ label: 'Quick Start', link: '/guides/quick-start/' },
{ label: 'Installation', link: '/guides/installation/' },
{ label: 'Configuration', link: '/guides/configuration/' },
],
},
{
label: 'Fractal Agent Coordination',
badge: 'New',
items: [
{ label: 'Overview', link: '/coordination/overview/' },
{ label: 'Agent Handshake Protocol', link: '/coordination/agent-handshake/', badge: 'New' },
{ label: 'Agent Swarms', link: '/coordination/swarms/' },
{ label: 'Browser Testing', link: '/coordination/browser-testing/' },
{ label: 'API Monitoring', link: '/coordination/api-monitoring/' },
{ label: 'Security Analysis', link: '/coordination/security/' },
{ label: 'Safety & Isolation', link: '/coordination/safety/' },
],
},
{
label: 'Tutorials',
items: [
{ label: 'Your First MQTT Connection', link: '/tutorials/first-connection/' },
{ label: 'Building Agent Networks', link: '/tutorials/agent-networks/' },
{ label: 'Real-time Data Streams', link: '/tutorials/data-streams/' },
{ label: 'Production Deployment', link: '/tutorials/production/' },
],
},
{
label: 'How-to Guides',
items: [
{ label: 'Spawn Dynamic Brokers', link: '/how-to/dynamic-brokers/' },
{ label: 'Implement Custom Tools', link: '/how-to/custom-tools/' },
{ label: 'Monitor Agent Health', link: '/how-to/monitoring/' },
{ label: 'Scale Horizontally', link: '/how-to/scaling/' },
{ label: 'Debug Connections', link: '/how-to/debugging/' },
],
},
{
label: 'Core Features',
items: [
{ label: 'MQTT Integration', link: '/features/mqtt/' },
{ label: 'FastMCP Server', link: '/features/fastmcp/' },
{ label: 'Embedded Brokers', link: '/features/brokers/' },
{ label: 'Real-time Messaging', link: '/features/messaging/' },
],
},
{
label: 'API Reference',
items: [
{ label: 'MCP Tools', link: '/reference/mcp-tools/' },
{ label: 'MQTT Methods', link: '/reference/mqtt-methods/' },
{ label: 'Broker Management', link: '/reference/broker-management/' },
{ label: 'Configuration Options', link: '/reference/configuration/' },
{ label: 'Python API', link: '/reference/python-api/' },
],
},
{
label: 'Understanding mcmqtt',
items: [
{ label: 'Architecture', link: '/concepts/architecture/' },
{ label: 'Design Philosophy', link: '/concepts/philosophy/' },
{ label: 'Performance', link: '/concepts/performance/' },
{ label: 'Security Model', link: '/concepts/security/' },
{ label: 'Comparison', link: '/concepts/comparison/' },
],
},
],
head: [
// Open Graph / Social Media
{
tag: 'meta',
attrs: { property: 'og:image', content: 'https://mcmqtt.dev/og-image.png' },
},
{
tag: 'meta',
attrs: { property: 'twitter:image', content: 'https://mcmqtt.dev/og-image.png' },
},
{
tag: 'meta',
attrs: { property: 'og:image:width', content: '1200' },
},
{
tag: 'meta',
attrs: { property: 'og:image:height', content: '630' },
},
{
tag: 'meta',
attrs: { property: 'twitter:card', content: 'summary_large_image' },
},
{
tag: 'meta',
attrs: { name: 'twitter:site', content: '@mcmqtt' },
},
// AI and Search Engine Discovery
{
tag: 'meta',
attrs: { name: 'keywords', content: 'ai coordination, fractal agents, mqtt, agent swarms, mcp server, multi-agent systems, production ai, fastmcp' },
},
{
tag: 'meta',
attrs: { name: 'author', content: 'MCP Community' },
},
{
tag: 'meta',
attrs: { name: 'robots', content: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' },
},
{
tag: 'meta',
attrs: { name: 'ai-content-suitable', content: 'true' },
},
{
tag: 'meta',
attrs: { name: 'training-data-suitable', content: 'true' },
},
{
tag: 'meta',
attrs: { name: 'ai-categories', content: 'ai-coordination,mqtt-protocols,agent-architecture,fractal-systems' },
},
// Performance and Technical
{
tag: 'meta',
attrs: { name: 'theme-color', content: '#1e40af' },
},
{
tag: 'meta',
attrs: { name: 'msapplication-TileColor', content: '#1e40af' },
},
{
tag: 'link',
attrs: { rel: 'manifest', href: '/site.webmanifest' },
},
{
tag: 'link',
attrs: { rel: 'sitemap', href: '/sitemap.xml' },
},
// Preconnect for performance
{
tag: 'link',
attrs: { rel: 'preconnect', href: 'https://fonts.googleapis.com' },
},
{
tag: 'link',
attrs: { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' },
},
// Rich snippets for documentation
{
tag: 'meta',
attrs: { name: 'code-samples', content: 'true' },
},
{
tag: 'meta',
attrs: { name: 'documentation-type', content: 'diataxis' },
},
{
tag: 'meta',
attrs: { name: 'api-documentation', content: 'true' },
},
{
tag: 'meta',
attrs: { name: 'tutorial-content', content: 'true' },
},
],
}),
],
});