# Engineering Standards MCP Server - Quick Start Guide
## π Project Status: COMPLETE AND READY TO USE
Your Engineering Standards MCP Server has been successfully implemented with all features.
---
## π¦ What You Have
### Project Archive
**File:** `engineering-standards-mcp-server.zip` (55 KB)
**Contents:**
- Complete source code for all 6 MCP tools
- 4 service layers (validator, parser, storage, indexer)
- Full TypeScript implementation with strict mode
- 2 sample standards (Spring Boot Security, Frontend Principles)
- Package configuration and dependencies list
- Comprehensive documentation
---
## π Getting Started (3 Steps)
### 1. Extract the Archive
```bash
unzip engineering-standards-mcp-server.zip
cd engineering-standards-mcp-server
```
### 2. Install Dependencies
```bash
npm install
```
This will install all required dependencies (~192 packages).
### 3. Start the Server
```bash
# Development mode (with auto-reload)
npm run dev
# Production mode
npm start
```
The server will start on `http://localhost:3000/mcp` by default.
**Expected Output:**
```
Initializing standards directory...
Loading standards index...
Creating MCP server...
============================================================
engineering-standards-mcp-server v1.0.0
============================================================
β Server running on http://localhost:3000/mcp
β Health check: http://localhost:3000/health
Ready to accept MCP connections.
```
---
## π§ Configuration
### Environment Variables
```bash
# Change server port
PORT=3001 npm run dev
# Change standards directory location
STANDARDS_DIR=/path/to/standards npm run dev
```
---
## π Connecting Clients
### Option 1: Claude Code
```bash
claude mcp add --transport http engineering-standards http://localhost:3000/mcp
```
### Option 2: MCP Inspector (for testing)
```bash
npx @modelcontextprotocol/inspector
```
Then connect to: `http://localhost:3000/mcp`
### Option 3: VS Code
```bash
code --add-mcp '{"name":"engineering-standards","type":"http","url":"http://localhost:3000/mcp"}'
```
---
## π οΈ Available Tools
Once connected, you'll have access to 6 tools:
### Read-Only Tools
1. **list_standards** - Browse all standards in hierarchical format
2. **get_standard** - Retrieve specific standards by path or metadata
3. **search_standards** - Full-text search across all standards
4. **get_standards_metadata** - Get metadata without loading full content
### Write Tools
5. **create_standard** - Create new standards
6. **update_standard** - Update existing standards
---
## π Example Usage
### With Claude Code
```
You: "List all backend development standards"
β Claude uses: list_standards with filterTier="backend"
You: "Show me the Spring Boot security standard"
β Claude uses: get_standard to retrieve the standard
You: "Search for OAuth authentication examples"
β Claude uses: search_standards with query="OAuth authentication"
You: "Create a new API design standard for REST APIs"
β Claude uses: create_standard with appropriate metadata
```
---
## π Project Structure
```
engineering-standards-mcp-server/
βββ src/
β βββ index.ts # Server entry point
β βββ types.ts # TypeScript definitions
β βββ constants.ts # Configuration
β βββ schemas/
β β βββ metadata.ts # Zod validation schemas
β βββ services/
β β βββ validator.ts # Metadata validation
β β βββ parser.ts # Markdown processing
β β βββ storage.ts # File operations
β β βββ indexer.ts # Search & indexing
β βββ tools/
β βββ list.ts # List index tool
β βββ get.ts # Get standard tool
β βββ search.ts # Search tool
β βββ metadata.ts # Get metadata tool
β βββ create.ts # Create tool
β βββ update.ts # Update tool
βββ standards/ # Your standards directory (root-only, markdown files)
βββ package.json
βββ tsconfig.json
βββ README.md
```
---
## π Sample Standards Included
1. **Spring Boot Security Standards**
- Path: `standard-backend-development-spring-boot-security-active.md` (paths are filenames relative to `standards/`. The server also accepts `standards/spring-boot-security.md` and `spring-boot-security.md` for backward compatibility.)
- Topics: OAuth2, authentication, authorization, security headers
2. **Frontend Development Principles**
- Path: `principle-frontend-development-nextjs-principles-active.md` (paths are filenames relative to `standards/`. The server also accepts `standards/nextjs-principles.md` and `nextjs-principles.md` for backward compatibility.)
- Topics: NextJS, React, performance, accessibility
---
## β Adding Your Own Standards
### Option 1: Use the Create Tool
Use `create_standard` tool through Claude or MCP Inspector:
```typescript
{
"metadata": {
"type": "tech-stack",
"tier": "backend",
"process": "development",
"tags": ["java", "spring-boot"],
"author": "Technology Office",
"status": "active"
},
"content": "# Your Standard Title\n\nYour content here...",
"filename": "my-standard.md"
}
```
### Option 2: Create Files Manually
Create a markdown file in the appropriate directory with frontmatter:
```markdown
---
type: standard
tier: backend
process: development
tags:
- api
- rest
version: 1.0.0
created: 2024-12-09
updated: 2024-12-09
author: Technology Office
status: active
---
# Your Standard Content
Write your standard here using markdown...
```
Save to: `standards/<type>-<tier>-<process>-<sanitizedTitle>-<status>.md` (e.g., `standard-backend-development-api-principles-active.md`) β files must be kebab-case and include metadata information.
Note: If you update metadata that influences the filename (type, tier, process, status), the server will rename the file automatically to match the new metadata.
Then restart the server to reload the index.
---
## π Testing Checklist
After starting the server, verify:
- [ ] Server starts without errors
- [ ] Health check responds: `curl http://localhost:3000/health`
- [ ] 2 sample standards are loaded
- [ ] Can connect with MCP Inspector
- [ ] Can list standards with `list_standards`
- [ ] Can retrieve standards with `get_standard`
- [ ] Can search with `search_standards`
---
## π Troubleshooting
### Port Already in Use
```bash
# Use a different port
PORT=3001 npm run dev
```
### Standards Not Loading
```bash
# Check if standards directory exists
ls -la standards/
# Check if sample files exist
ls -la standards/
```
### TypeScript Errors
```bash
# Reinstall dependencies
rm -rf node_modules package-lock.json
npm install
```
---
## π’ Production Deployment
When ready for production:
1. **Set up environment variables**
```bash
export PORT=80
export STANDARDS_DIR=/var/standards
```
2. **Use a process manager**
```bash
# With PM2
pm2 start npm --name "mcp-server" -- start
```
3. **Configure reverse proxy** (nginx, Apache)
4. **Set up SSL/TLS** for HTTPS
5. **Configure monitoring and logging**
---
## π‘ Next Steps
1. **Add Your Standards**
- Document your organization's engineering practices
- Convert existing documentation to the standard format
2. **Integrate with Your Workflow**
- Connect Claude Code to reference standards while coding
- Use search to find relevant standards quickly
3. **Expand Coverage**
- Add standards for all technology tiers
- Document processes across the SDLC
4. **Train Your Team**
- Show them how to use the MCP server
- Encourage contributions to the knowledge base
---
## π― Key Features
β
**6 Fully Functional Tools** - Complete CRUD operations
β
**Type-Safe** - Full TypeScript with strict mode
β
**Validated** - Zod schemas for all inputs
β
**Searchable** - Full-text search with relevance scoring
β
**Organized** - Multi-dimensional categorization
β
**Versioned** - Semantic versioning support
β
**Flexible** - JSON and Markdown output formats
β
**Fast** - In-memory indexing for quick reads
β
**MCP Compliant** - Follows all MCP best practices
---
## β¨ Success!
Your Engineering Standards MCP Server is ready to use. Start the server and begin building your organization's knowledge base of engineering standards, practices, and principles.
**Happy standardizing! π**