diff --git a/community-token/src/components/McpLaunchedBanner.vue b/community-token/src/components/McpLaunchedBanner.vue
index 12255c9..2ceb8a5 100644
--- a/community-token/src/components/McpLaunchedBanner.vue
+++ b/community-token/src/components/McpLaunchedBanner.vue
@@ -1,4 +1,9 @@
@@ -43,6 +48,14 @@ const askUrl = 'https://mcp-docs.feelyourprotocol.org/use/capabilities.html'
>
Try a question
+
+ {{ MCP_LAUNCH_ANNOUNCEMENT_X_LABEL }}
+
diff --git a/community-token/src/components/__tests__/McpLaunchedBanner.spec.ts b/community-token/src/components/__tests__/McpLaunchedBanner.spec.ts
index f61d361..c449202 100644
--- a/community-token/src/components/__tests__/McpLaunchedBanner.spec.ts
+++ b/community-token/src/components/__tests__/McpLaunchedBanner.spec.ts
@@ -14,5 +14,8 @@ describe('McpLaunchedBanner', () => {
expect(wrapper.text()).toContain('6 October 2026')
expect(wrapper.get('a[href*="use/connect"]').text()).toBe('Connect')
expect(wrapper.get('a[href*="use/capabilities"]').attributes('target')).toBe('_blank')
+ expect(wrapper.get('a[href*="status/2107839782525325437"]').text()).toBe(
+ 'Read announcement on X',
+ )
})
})
diff --git a/docs-hub/index.html b/docs-hub/index.html
index 39cc486..ab41807 100644
--- a/docs-hub/index.html
+++ b/docs-hub/index.html
@@ -80,6 +80,13 @@
href="https://mcp-docs.feelyourprotocol.org/use/capabilities.html"
>Try a question
+ Read announcement on X
diff --git a/mcp-docs/.vitepress/theme/components/__tests__/LaunchedBanner.spec.ts b/mcp-docs/.vitepress/theme/components/__tests__/LaunchedBanner.spec.ts
index 6c08861..b701629 100644
--- a/mcp-docs/.vitepress/theme/components/__tests__/LaunchedBanner.spec.ts
+++ b/mcp-docs/.vitepress/theme/components/__tests__/LaunchedBanner.spec.ts
@@ -24,6 +24,9 @@ describe('LaunchedBanner', () => {
expect(wrapper.text()).toContain('6 October 2026')
expect(wrapper.get('a[href="/use/connect.html"]').text()).toBe('Connect')
expect(wrapper.get('a[href="/use/capabilities.html"]').attributes('target')).toBeUndefined()
+ expect(wrapper.get('a[href*="status/2107839782525325437"]').text()).toBe(
+ 'Read announcement on X',
+ )
})
it('opens an external entry point in a new tab', () => {
diff --git a/shared/mcpLaunchUrls.ts b/shared/mcpLaunchUrls.ts
new file mode 100644
index 0000000..d496d9c
--- /dev/null
+++ b/shared/mcpLaunchUrls.ts
@@ -0,0 +1,5 @@
+/** @FeelEthereum launch thread for the hosted MCP server (Oct 2026). */
+export const MCP_LAUNCH_ANNOUNCEMENT_X_URL =
+ 'https://x.com/FeelEthereum/status/2107839782525325437' as const
+
+export const MCP_LAUNCH_ANNOUNCEMENT_X_LABEL = 'Read announcement on X' as const
diff --git a/shared/vitepress/LaunchedBanner.vue b/shared/vitepress/LaunchedBanner.vue
index ae4c918..ac1d431 100644
--- a/shared/vitepress/LaunchedBanner.vue
+++ b/shared/vitepress/LaunchedBanner.vue
@@ -1,6 +1,11 @@