
Company News
AWS Security Hub Adds Socket for Supply Chain Security
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.
md-md-mcp-server
Advanced tools
MCP server for md.md - provides team knowledge context to AI assistants
Model Context Protocol (MCP) server for md.md - provides team knowledge context to AI assistants.
This MCP server allows AI assistants (Claude Desktop, IDEs, etc.) to automatically access your team's knowledge blocks stored in md.md. When you're coding, the AI can fetch relevant documentation, coding standards, and guidelines without manual prompting.
npm install
npm run build
cd ../app-backend
npm run create-admin -- \
--email admin@yourcompany.com \
--name "Admin" \
--team team-alpha \
--workspace workspace-core
Save the API key that's displayed.
cp .env.example .env
# Edit .env and add your API key
npm start
The server will listen on stdio for MCP protocol messages.
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"md-md": {
"command": "node",
"args": ["/path/to/md.md/mcp-server/dist/index.js"],
"env": {
"MD_MD_API_URL": "http://localhost:3000",
"MD_MD_API_KEY": "mdmd_your_key_here"
}
}
}
}
Add to your MCP settings:
{
"md-md": {
"command": "node",
"args": ["/path/to/md.md/mcp-server/dist/index.js"],
"env": {
"MD_MD_API_URL": "http://localhost:3000",
"MD_MD_API_KEY": "mdmd_your_key_here"
}
}
}
node /path/to/md.md/mcp-server/dist/index.jsMD_MD_API_KEY=mdmd_your_key_hereThe MCP server now exposes full block lifecycle and observability capabilities for IDE-grade integration.
resolve_context - Auto SelectionPrimary tool - Automatically selects relevant knowledge blocks based on:
Example:
AI: I need context for reviewing authentication code
→ resolve_context({ task: "review auth", fileType: "ts", filePath: "src/auth/middleware.ts" })
→ Returns: Authentication guidelines, security best practices, code review checklist
Parameters:
task (optional): Task description (e.g., "review PR", "debug API")fileType (optional): File extension (e.g., "ts", "py", "go")filePath (optional): Current file path for pattern matchingrepo (optional): Repository name or patternattach_blocks - Manual Selection ⭐ NEWQuick access tool - Manually attach specific blocks when you know exactly what you need.
Use cases:
/auth in IDEExamples:
User: "Attach the auth block"
→ attach_blocks({ query: "auth" })
→ Returns: Authentication Guidelines block
User: "I need API and security rules"
→ attach_blocks({ query: "api,security" })
→ Returns: API Design block + Security Best Practices block
User: "Use coding standards"
→ attach_blocks({ query: "coding standards", matchType: "name" })
→ Returns: Exact match by block name
Parameters:
query (required): Block name, tag, or comma-separated list
"auth""api,security,testing""Authentication Guidelines""coding-standards"matchType (optional): How to match blocks
"any" (default): Fuzzy search across names, tags, labels"name": Search block names only"tag": Search tags onlylist_blocksDiscover what team knowledge exists. Useful for exploration.
Parameters:
search (optional): Search querytag (optional): Filter by tag (e.g., "security", "api-design")status (optional): "draft" or "published"includeArchived (optional): Include archived blocksget_blockGet full details of a specific block by ID.
Parameters:
blockId (required): Block UUIDhealth_checkCheck connection status to md.md API. Returns latency and error details.
No parameters required.
create_block - Create a new blockupdate_block - Update block metadataadd_block_file - Add markdown file to blockupdate_block_file - Update block file contentupdate_block_policy - Update selection policy and triggerspublish_block - Publish latest draftarchive_block - Archive a blockunarchive_block - Restore archived blocklist_block_versions - List block versionsdraft_published_diff - Show draft vs latest published changeswhoami - Return current auth context and permissionslist_injection_logs - Return injection/resolve logs for active scope┌─────────────┐
│ IDE/AI Tool │
└──────┬──────┘
│ MCP Protocol (stdio)
│
┌──────▼──────────────┐
│ md.md MCP Server │
│ │
│ - Tool definitions │
│ - Error handling │
│ - Timeout control │
│ - Health monitoring │
└──────┬──────────────┘
│ REST API (Bearer token)
│
┌──────▼──────────────┐
│ md.md Backend API │
│ │
│ - Authentication │
│ - Block resolution │
│ - Policy engine │
└─────────────────────┘
The MCP server implements comprehensive error handling:
MD_MD_TIMEOUTMD_MD_MAX_RETRIESInvalidParams - Malformed tool argumentsMethodNotFound - Unknown tool nameInternalError - API failures, timeouts, etc.| Variable | Required | Default | Description |
|---|---|---|---|
MD_MD_API_URL | No | http://localhost:3000 | md.md backend API URL |
MD_MD_API_KEY | Yes | - | API key from npm run create-admin |
MD_MD_TEAM_ID | No | - | Optional explicit team scope header |
MD_MD_WORKSPACE_ID | No | - | Optional explicit workspace scope header |
MD_MD_TIMEOUT | No | 30000 | Request timeout (ms) |
MD_MD_MAX_RETRIES | No | 3 | Max retry attempts |
MD_MD_RETRY_BASE_DELAY | No | 250 | Retry backoff base delay (ms) |
MD_MD_HEALTH_INTERVAL | No | 60000 | Health check interval (ms) |
npm run dev
npm run build
# Terminal 1: Start backend
cd ../app-backend && npm run start:dev
# Terminal 2: Start MCP server
cd mcp-server && npm start
Then send MCP protocol messages via stdio to test.
npm run create-admin in app-backend.env or pass via IDE configcurl http://localhost:3000/api/auth/whoamiMD_MD_TIMEOUT=60000curl -H "Authorization: Bearer mdmd_key" http://localhost:3000/api/blocksMD_MD_API_URLhealth_check tool to see specific errorFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY dist ./dist
CMD ["node", "dist/index.js"]
[Unit]
Description=md.md MCP Server
After=network.target
[Service]
Type=simple
User=mdmd
WorkingDirectory=/opt/md-md/mcp-server
ExecStart=/usr/bin/node /opt/md-md/mcp-server/dist/index.js
Restart=always
Environment="MD_MD_API_URL=https://api.md.md"
Environment="MD_MD_API_KEY=mdmd_production_key"
[Install]
WantedBy=multi-user.target
health_check tool.env file - Contains API keysMIT
For issues or questions:
GET /api/auth/audithealth_check toolNext Steps:
FAQs
MCP server for md.md - provides team knowledge context to AI assistants
We found that md-md-mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.