Skip to content

Jannled/DoorstopMCP

Repository files navigation

Doorstop MCP

Quick and dirty implementation of a MCP Server for the Python Doorstop framework.

Quickstart

Note

This tool is not yet ready for production use, as there is no user authentication. Please only use the MCP server in a trusted network.

With Docker

docker compose up --force-recreate

With VS Code

mkdir reqs
cd reqs
git init
doorstop create REQ ./reqs/req
doorstop create LLR ./reqs/llr --parent REQ
doorstop create TST ./reqs/tests --parent REQ

Then in the Run and Debug (Ctrl+Shift+D) pane start the Python Debugger: Module launch target.

Testing the API

You can explore the MCP by using the following web GUI:

npx -y @modelcontextprotocol/inspector

Options:

Vibe CLI Configuration

To use this MCP server with the Vibe CLI, add the following to your configuration:

[[mcp_servers]]
name = "doorstop"
transport = "streamable-http"
url = "http://localhost:3001/mcp"

Antigravity MCP Configuration

{
	"mcpServers": {
		"doorstop": {
			"serverUrl": "http://localhost:3001/mcp"
		}
	}
}

Custom Attributes

Some attributes commonly used in requirements engineering such as Functional / Non-Functional requirements are an afterthought in Doorstop and have to be added manually by the user of the framework. Here is the list of attributes that where extended by this MCP server. They are automatically added to every document and when creating an item they can be populated.

Attribute Examples
type Functional, Non-Functional or Constraint
review-method Review by Design, Test, Inspection, Analysis, Demonstration

Implementation Status

  • create: create a new document directory
  • delete: delete a document directory
  • add: create an item file in a document directory
  • remove: remove an item file from a document directory
  • edit: open an existing item or document for editing
  • reorder: organize the outline structure of a document
  • link: add a new link between two items
  • unlink: remove a link between two items
  • clear: absolve items of their suspect link status
  • review: absolve items of their unreviewed status
  • import: import an existing document or item
  • export: export a document as YAML or another format
  • publish: publish a document as text or another format

Not implementing delete operations for now. And import/export/publish is not useful for an MCP server.

About

A MCP Server for the Doorstop Requirements Engineering Framework

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •