SDOF MCP - Structured Decision Optimization Framework
LocalAbout SDOF MCP - Structured Decision Optimization Framework
SDOF MCP is an MCP server for persistent memory and context management in AI systems, intended for teams and developers who organize knowledge in a structured way. Its five-phase workflow supports semantic search and multiple storage options.
Key features
- 01Five-phase optimization workflow
- 02Vector-embedding semantic search
- 03MongoDB or SQLite storage
- 04Structured content types and validation
- 05MCP tools and HTTP API
- 06Prompt caching support
Use cases
- 01Save decisions with their rationale
- 02Organize analysis, implementation, and evaluation by phase
- 03Retrieve stored knowledge through semantic search
MCP support
The MCP server accepts structured knowledge with metadata through the `store_sdof_plan` tool and provides persistent memory and context management to MCP clients. It also offers an HTTP API.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMESDOF MCP - Structured Decision Optimization Framework
Next-generation knowledge management system with 5-phase optimization workflow
The Structured Decision Optimization Framework (SDOF) Knowledge Base is a Model Context Protocol (MCP) server that provides persistent memory and context management for AI systems through a structured 5-phase optimization workflow.
🚀 Quick Start
Prerequisites
- Node.js 18+
- OpenAI API Key (for embeddings)
- MCP-compatible client (Claude Desktop, etc.)
Installation
# Clone the repository
git clone https://github.com/your-username/sdof-mcp.git
cd sdof-mcp
# Install dependencies
npm install
npm run build
# Configure environment
cp .env.example .env
# Edit .env with your OpenAI API key
# Start the server
npm start
📖 Documentation
- Installation Guide - Complete setup instructions
- Migration Guide - Migration from ConPort
- API Documentation - MCP tool reference
- Setup Guide - Detailed configuration
✨ Features
🎯 5-Phase Optimization Workflow
- Phase 1: Exploration - Solution discovery and brainstorming
- Phase 2: Analysis - Detailed evaluation and optimization
- Phase 3: Implementation - Code development and testing
- Phase 4: Evaluation - Performance and quality assessment
- Phase 5: Integration - Learning consolidation and documentation
🧠 Advanced Knowledge Management
- Vector Embeddings: Semantic search with OpenAI embeddings
- Persistent Storage: MongoDB/SQLite with vector indexing
- Prompt Caching: Optimized for LLM efficiency
- Schema Validation: Structured content types
- Multi-Interface: Both MCP tools and HTTP API
🔧 Content Types
text- General documentation and notescode- Code implementations and examplesdecision- Decision records and rationaleanalysis- Analysis results and findingssolution- Solution descriptions and designsevaluation- Evaluation reports and metricsintegration- Integration documentation and guides
🛠️ MCP Tools
Primary Tool: store_sdof_plan
Store structured knowledge with metadata:
{
plan_content: string; // Markdown content
metadata: {
planTitle: string; // Descriptive title
planType: ContentType; // Content type (text, code, decision, etc.)
tags?: string[]; // Categorization tags
phase?: string; // SDOF phase (1-5)
cache_hint?: boolean; // Mark for prompt caching
}
}
Example Usage
// Store a decision record
{
"server_name": "sdof_knowledge_base",
"tool_name": "store_sdof_plan",
"arguments": {
"plan_content": "# Database Selection\n\nChose MongoDB for vector storage due to...",
"metadata": {
"planTitle": "Database Architecture Decision",
"planType": "decision",
"tags": ["database", "architecture"],
"phase": "2",
"cache_hint": true
}
}
}
🏗️ Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ AI Clients │───▶│ SDOF Knowledge │───▶│ Database │
│ (Claude, etc.) │ │ Base MCP │ │ (MongoDB/ │
└─────────────────┘ │ Server │ │ SQLite) │
└──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ HTTP API │
│ (Port 3000) │
└──────────────────┘
🔧 Configuration
MCP Client Configuration
Add to your MCP client configuration:
{
"mcpServers": {
"sdof_knowledge_base": {
"type": "stdio",
"command": "node",
"args": ["path/to/sdof-mcp/build/index.js"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key"
},
"alwaysAllow": ["store_sdof_plan"]
}
}
}
Environment Variables
# Required
OPENAI_API_KEY=sk-proj-your-openai-api-key
# Optional
EMBEDDING_MODEL=text-embedding-3-small
HTTP_PORT=3000
MONGODB_URI=mongodb://localhost:27017/sdof
🧪 Testing
# Run tests
npm test
# Run system validation
node build/test-unified-system.js
# Performance benchmarks
npm run test:performance
📊 Performance
Target metrics:
- Query Response: <500ms average
- Embedding Generation: <2s per request
- Vector Search: <100ms for similarity calculations
- Database Operations: <50ms for CRUD operations
🤝 Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make changes to TypeScript files in
src/ - Run tests:
npm test - Build:
npm run build - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support
- Documentation: Check the docs/ directory
- Issues: GitHub Issues
- Installation Help: See SDOF_INSTALLATION_GUIDE.md
🎉 Success Indicators
You know the system is working correctly when:
- ✅ No authentication errors in logs
- ✅
store_sdof_plantool responds successfully - ✅ Knowledge entries are stored and retrievable
- ✅ Query performance meets targets (<500ms)
- ✅ Test suite passes completely
Built with ❤️ for the AI community
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.