frontpage-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
frontpage-mcp
Give an AI agent complete control of Microsoft FrontPage 2003.
Modern models can describe a "Y2K website" but can't actually build one the
way it was built — because the authentic 2000s look was never hand-written
HTML. It was FrontPage: Themes with generated banner/button GIFs, shared
borders, navigation-structure link bars, webbot components, hover-button Java
applets, <marquee>, <bgsound> MIDI, Page-Enter transitions and
<font>-tag styling that modern tooling can't reproduce.
This MCP server drives the real thing through FrontPage 2003's official COM
object model (FrontPage.Application) — the same API VBA used. The agent can
launch the app, create webs, apply themes, build navigation structures, insert
components, edit the live document DOM, publish — and screenshot the result
through the era-correct IE renderer to iterate visually.
Everything below was verified against a real FrontPage 2003 install.
┌──────────────┐ stdio JSON-RPC ┌─────────────────┐ COM (STA thread) ┌──────────────┐
│ AI client │ ◄────────────────► │ frontpage-mcp │ ◄────────────────► │ FRONTPG.EXE │
│ (Claude etc.)│ │ (Python) │ │ FrontPage │
└──────────────┘ └─────────────────┘ └──────────────┘Requirements
Windows
Microsoft FrontPage 2003 installed, licensed, and past first-run setup (open it once manually first)
Python 3.10+
Related MCP server: Windows-MCP
Install
pip install -e .
# or, for your MCP client, point it directly at the package:
# python -m frontpage_mcpMCP client config (Claude Desktop, Devin, etc.):
{
"mcpServers": {
"frontpage-2003": {
"command": "python",
"args": ["-m", "frontpage_mcp"]
}
}
}If installed into a venv, point command at that interpreter, e.g.
"C:\\path\\to\\.venv\\Scripts\\python.exe".
The authentic-2003 workflow
The server ships with instructions that teach the agent this recipe:
fp_launch→ attach or start FrontPagefp_create_web("C:\\sites\\my2003")— a real FrontPage web (_vti_*metadata included)fp_list_themes→fp_apply_theme("blends", vivid=True, active_graphics=True)fp_set_shared_borders(top=True, left=True)fp_new_page/fp_set_htmlfor each page, thenfp_nav_addto build the navigation structure → link bars regenerate automaticallyfp_insert_component("hit_counter"),("timestamp"),("navigation_bar"),fp_insert_marquee,fp_insert_hover_button,fp_set_bgsound("midi.mid"),fp_set_page_transitionfp_save_page→fp_set_view("preview")→fp_screenshotto see itfp_publish("C:\\inetpub\\wwwroot")— emits the full period artifact set:_derived/*_hbtn.gifbutton images,_themes/assets,_fpclass/applets,_borders/fragments,_private/*.cntcounter files
Tools (63)
Group | Tools |
Lifecycle |
|
Webs |
|
Themes |
|
Borders & nav |
|
Pages |
|
HTML |
|
Page style |
|
Components |
|
Verification |
|
Escape hatches |
|
Notes on specific features
Webbots are inserted as
<!--webbot bot="..." startspan/endspan -->comment pairs; FrontPage regenerates the inner markup on save — byte-for-byte identical to what the 2003 editor produced.Hit counter / Search require FrontPage Server Extensions on the host at browse time; the markup itself is generated correctly either way.
Hover buttons are real Java applets (
fphover.class). The server copies the class files from your Office install into<web>/_fpclass/automatically.fp_eval_jsexecutes JScript against the page DOM. The design surface doesn't implementexecScript, so the tool automatically uses the Preview document — callfp_set_view("preview")first.Localized FrontPage (e.g. Chinese/Japanese builds): menu captions differ, use
fp_list_menuto discover the rightfp_exec_commandpaths.NavigationNode.Childrenis 0-based (unlike most FrontPage collections, which are 1-based —PageWindowsis also 0-based). The session layer probesItem(0)and enumerates accordingly; readingItem(Count)throws0x800A0009. The persisted structure lives in<web>/_vti_pvt/structure.cnfand is plain text — the source of truth if a node ever looks "phantom" via COM.ANSI paths only. FrontPage 2003 predates Unicode filenames: a path containing characters outside the system codepage fails with a modal dialog. The bridge rejects such paths up front — use an ASCII junction (
mklink /J C:\work <real-path>) when working inside non-ANSI folders.Preview limits. The embedded preview cannot render external
file://stylesheets or Flash/plugins.fp_open_in_browser()opens the page in the real system browser;fp_check_assets()flags missing referenced files.
Architecture
src/frontpage_mcp/session.py— all COM calls marshalled onto a dedicated STA worker thread (FrontPage objects are apartment-bound); returns only plain data across the thread boundary.src/frontpage_mcp/server.py— MCP tools (works withmcp1.x and 2.x).src/frontpage_mcp/webbots.py— webbot/retro markup builders.src/frontpage_mcp/capture.py—FRONTPG.EXEwindow screenshot (PIL).src/frontpage_mcp/enums.py— constants lifted from the FRONTPG.EXE type library ({3824BCD5-7042-11CE-8E17-0020AF9F9648}).
Developing
python scripts/smoke_test.pydrives a real end-to-end pass: creates %TEMP%\fp_smoke_site, applies a theme,
builds nav structure, inserts webbots + a hover button, saves, previews and
screenshots to %TEMP%\frontpage-mcp-smoke.png.
Verified environment
Developed and smoke-tested (30/30) against a live FrontPage install:
OS | Windows 10 22H2 (19045), 64-bit |
System locale | Japanese (ANSI codepage CP932) |
FrontPage | 2003 SP3 — |
Python | 3.14.2 64-bit (3.12 also tested during development) |
Packages | pywin32 312, comtypes 1.4.16, mcp 2.3.0, Pillow 12.2.0 |
Notably exercised on this setup: CP932 host with Chinese FrontPage UI (menu captions, non-ANSI path failures — hence the junction workaround), a real disk-based web, and a full end-to-end site restoration plus five exercise pages authored entirely through the COM bridge.
Legal
MIT license. Microsoft FrontPage is a trademark of Microsoft; this project is an independent interoperability bridge and is not affiliated with Microsoft. You need your own licensed copy of FrontPage 2003.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-native website builder: create, edit, and host websites via MCP
Let your AI agent build, preview and update web apps, download source and publish when you allow it.
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with Windows operating systems through native UI automation, file navigation, application control, and system commands. Provides seamless integration between LLMs and Windows environments for tasks like clicking, typing, launching apps, and capturing desktop state.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Windows operating systems by providing tools for UI automation, file navigation, application control, and system operations. Works with any LLM to perform tasks like clicking, typing, launching applications, and executing PowerShell commands through native Windows integration.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents on Windows to drive real Microsoft Word and WPS Office applications through COM, automating legacy .doc/.docx batch conversion, bookmark and placeholder template filling, print-fidelity PDF export, extraction from legacy binaries, editing of documents currently open on screen, and mail-merge batch generation. It hardens these operations with CJK font preservation, password and corruption pre-checks, structured self-correcting errors, path allowlisting, read-only mode, and automatic Word-to-WPS failover.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to create, edit, and manage native Windows PowerPoint presentations via COM, including connecting to existing instances, inspecting master layouts, adding slides, inserting custom shapes, exporting slide images for visual review, and saving—all through the Model Context Protocol.MIT