Quick and dirty implementation of a MCP Server for the Python Doorstop framework.
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.
docker compose up --force-recreatemkdir reqs
cd reqs
git init
doorstop create REQ ./reqs/req
doorstop create LLR ./reqs/llr --parent REQ
doorstop create TST ./reqs/tests --parent REQThen in the Run and Debug (Ctrl+Shift+D) pane start the Python Debugger: Module launch target.
You can explore the MCP by using the following web GUI:
npx -y @modelcontextprotocol/inspectorOptions:
- Transport Type: Streamable HTTP
- URL: localhost:3001/mcp
- Connection Type: Via Proxy
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"{
"mcpServers": {
"doorstop": {
"serverUrl": "http://localhost:3001/mcp"
}
}
}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 |
-
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.