Universal Spec Architect
Enforces a rigorous spec-driven engineering workflow for AI coding assistants, requiring requirements, design, and task planning before any code is written.
README
Universal Spec Architect — IBM Bob-a-thon Submission
Project Purpose
The Universal Spec Architect is an MCP (Model Context Protocol) server designed to enforce a rigorous, spec-driven engineering workflow for AI coding assistants like IBM Bob.
The core problem it solves is the tendency of AI assistants to jump straight into writing code without proper planning, leading to architectural drift, missed requirements, and unmaintainable codebases. This project forces the assistant to pause, think, and document before writing a single line of implementation code.
Key Features
- Enforced 3-Phase Workflow: Requires the assistant to complete Requirements → Design → Tasks before coding.
- EARS Notation Validation: Automatically validates that all requirements follow the Easy Approach to Requirements Syntax (
[WHEN <trigger>] THE <system> SHALL <response>). - Real-time Task Tracking: Provides tools for the assistant to update task statuses (
todo,in_progress,completed) in a centralizedtasks.mdfile. - IBM Bob Integration: Includes custom
.bob/modes/spec-architect.jsonand.bob/rules/spec-workflow.mdto seamlessly integrate with IBM Bob's steering mechanisms. - Universal Compatibility: Works not just with IBM Bob, but also with Cline, Cursor, VS Code (Copilot), Windsurf, and Claude Desktop.
Technical Implementation
The project is built as a Python-based MCP server using the fastmcp framework.
It exposes 6 core MCP tools to the AI assistant:
initialize_spec: Scaffolds the.specs/directory structure.write_requirements: Validates and writesrequirements.md.write_design: Structures and writesdesign.md.write_tasks: Breaks down work intotasks.md.update_task_status: Modifies task states dynamically.run_hook: Executes lifecycle hooks (pre_task,post_task).
The server runs locally and communicates with IBM Bob via stdio using the MCP protocol.
How to Run the Application Locally
Prerequisites
- Python 3.11+
uvpackage manager installed
Installation
- Clone this repository.
- Install the dependencies:
pip install fastmcp pydantic pip install -e .
Running with IBM Bob
- Copy the
.bob/directory from this repository into your target project's root directory. - Ensure
.bob/mcp.jsonpoints to the correct server path:{ "mcpServers": { "universal-spec-architect": { "command": "uvx", "args": ["fastmcp", "run", "src/universal_spec_mcp/server.py"], "env": { "PYTHONPATH": "src" } } } } - Open your project in VS Code with the IBM Bob extension enabled.
- Select the Spec Architect mode in Bob.
- Ask Bob to "Build a new feature" — Bob will automatically start the MCP server and begin the 3-phase workflow.
Running Tests
To verify the MCP server logic locally:
python3 tests/test_server.py
Demo Video
A 3-minute demo video will be added to this repository before final submission to the IBM Bob-a-thon org. The video will cover:
- Project structure walkthrough
- IBM Bob Spec Architect mode in action
- Generated spec artifacts (requirements, design, tasks)
- Running the test suite locally
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.