Universal Spec Architect

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.

Category
Visit Server

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 centralized tasks.md file.
  • IBM Bob Integration: Includes custom .bob/modes/spec-architect.json and .bob/rules/spec-workflow.md to 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:

  1. initialize_spec: Scaffolds the .specs/ directory structure.
  2. write_requirements: Validates and writes requirements.md.
  3. write_design: Structures and writes design.md.
  4. write_tasks: Breaks down work into tasks.md.
  5. update_task_status: Modifies task states dynamically.
  6. 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+
  • uv package manager installed

Installation

  1. Clone this repository.
  2. Install the dependencies:
    pip install fastmcp pydantic
    pip install -e .
    

Running with IBM Bob

  1. Copy the .bob/ directory from this repository into your target project's root directory.
  2. Ensure .bob/mcp.json points to the correct server path:
    {
      "mcpServers": {
        "universal-spec-architect": {
          "command": "uvx",
          "args": ["fastmcp", "run", "src/universal_spec_mcp/server.py"],
          "env": { "PYTHONPATH": "src" }
        }
      }
    }
    
  3. Open your project in VS Code with the IBM Bob extension enabled.
  4. Select the Spec Architect mode in Bob.
  5. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured