Connect your MCP-compatible client and get both natural-language search across the ECMA-376 spec and deterministic schema lookup over the parsed XSDs.
+
Latest MCP (2026-07-28) · Stateless
+
Connect an MCP client to search spec prose, inspect XSD schemas, look up OPC package metadata, and query preset shape guides.
Prose search
ooxml_search — Semantic search across 18,000+ spec chunks.
@@ -145,8 +165,12 @@ function mcpPageHtml(): string {
ooxml_enum — Enumeration values for a simpleType.
ooxml_namespace — What's known about a namespace URI.
+
Package metadata
+
ooxml_package_part — Look up OPC part types.
+
Preset shapes
+
ooxml_preset_shape — Look up adjustment guides for a preset shape.
What is MCP?
-
The Model Context Protocol (MCP) is an open standard that lets AI assistants connect to external data sources and tools. Works with Claude Code, Codex CLI, Cursor, and any MCP-compatible client.
+
The Model Context Protocol (MCP) is an open standard that lets AI assistants connect to external data sources and tools. This server works with Claude Code, Codex CLI, Cursor, and other clients that support Streamable HTTP.
+ );
+}
diff --git a/apps/web/src/pages/Home.tsx b/apps/web/src/pages/Home.tsx
index ec99512..a7827ba 100644
--- a/apps/web/src/pages/Home.tsx
+++ b/apps/web/src/pages/Home.tsx
@@ -35,13 +35,13 @@ export function Home() {
NEW
- OOXML MCP — deterministic schema lookup for elements, attributes, types, enums
+ Use the OOXML reference from your terminal
- Connect →
+ Get the CLI →
diff --git a/apps/web/src/pages/Mcp.tsx b/apps/web/src/pages/Mcp.tsx
index 5712e28..821ec8f 100644
--- a/apps/web/src/pages/Mcp.tsx
+++ b/apps/web/src/pages/Mcp.tsx
@@ -4,7 +4,7 @@ import { Navbar } from "../components/Navbar";
import { getSeoMeta } from "../data/seo";
import { useDocumentTitle } from "../hooks/useDocumentTitle";
-const MCP_ENDPOINT = `${import.meta.env.VITE_API_URL}/mcp`;
+const MCP_ENDPOINT = `${import.meta.env.VITE_API_URL ?? "https://api.ooxml.dev"}/mcp`;
const CLAUDE_COMMAND = `claude mcp add --transport http ooxml ${MCP_ENDPOINT}`;
const CODEX_COMMAND = `codex mcp add ooxml --url ${MCP_ENDPOINT}`;
const CODEX_TOML = `[mcp_servers.ooxml]
@@ -65,6 +65,14 @@ const PACKAGE_TOOLS = [
},
];
+const PRESET_SHAPE_TOOLS = [
+ {
+ name: "ooxml_preset_shape",
+ description:
+ "Look up the ordered adjustment-guide names for a DrawingML preset shape from Part 1 Annex D.",
+ },
+];
+
const EXAMPLE_QUERIES = [
"How do I add borders to a table cell?",
"How does numbering work in WordprocessingML?",
@@ -99,17 +107,26 @@ export function Mcp() {
{/* Header */}
-
- ⚡ MCP Server
+
+
+ ⚡ MCP Server
+
+
+ Latest MCP (2026-07-28) · Stateless
+
OOXML reference for AI assistants
- Three tool families: prose search across 18,000+ spec chunks, deterministic schema
- lookup over the parsed XSDs, and curated OPC package metadata. Ask in natural language,
- or query the structure directly.
+ Search spec prose, inspect XSD schemas, look up OPC package metadata, and query preset
+ shape guides from your AI assistant.
+
+ The hosted service is free. You may need to create an account and sign in when you
+ connect. Sign-in is only used to control usage.
+
- Use the endpoint URL with any MCP-compatible client:
+ Use the endpoint URL with an MCP client that supports Streamable HTTP:
@@ -292,6 +309,26 @@ export function Mcp() {
+ {/* Preset shape tools */}
+
+
Preset shapes
+
+ Adjustment guides extracted from ECMA-376 Fourth Edition, Part 1 Annex D.
+
+
+ {PRESET_SHAPE_TOOLS.map((tool) => (
+
+
+
+ {tool.name}
+
+
{tool.description}
+
+
+ ))}
+
+
+
{/* Example Queries */}
Example Queries
@@ -325,9 +362,8 @@ export function Mcp() {
tools.
- By connecting to this MCP server, your AI assistant gains prose search across the
- ECMA-376 specification, deterministic schema lookup over the parsed XSDs, and curated
- OPC package metadata—making it much easier to work with Office Open XML.
+ Connect this server to search the ECMA-376 specification, inspect XSD schemas, look up
+ OPC package metadata, and query preset shape guides.