A Model Context Protocol (MCP) server built with the official MCP SDK.
For providing development context for Vimeo code assistants. Completely client agnostic. It can be used with any IDE that supports MCP (Claude, Cursor, VSCode, Windsurf).
Currently supports:
- vimeo/vimeo - frontend documentation
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm startdev-mcp/
├── src/
│ ├── utils/ # Utility classes
│ │ ├── documentIndexer.ts # Document indexing logic
│ │ ├── documents.ts # Document retrieval
│ │ └── logger.ts # Logging utilities
│ └── index.ts # MCP server entry point
├── documentation/ # Documentation files
│ └── vimeo/ # Vimeo-specific docs
│ ├── frontend-components.md
│ ├── frontend-data.md
│ ├── frontend-optimization.md
│ ├── frontend-structure.md
│ ├── frontend-technologies.md
│ └── frontend-testing.md
├── package.json
└── tsconfig.json
This MCP server provides:
- Resource Discovery: Automatically indexes all documentation files
- Resource Templates: Dynamic URI templates for accessing documentation
- Content Retrieval: Serves markdown documentation content to MCP clients
To add new documentation files:
- Create the markdown file in the appropriate directory under
documentation/ - Add frontmatter at the top of your markdown file:
---
title: Your Document Title
description: A brief description of what this document covers
---
# Your Document Content
Your markdown content goes here...All documentation files should include YAML frontmatter with the following fields:
title(required): The display title for the documentdescription(required): A brief description used for search and indexing
Follow the pattern: {topic}.md
Examples:
frontend-components.mdfrontend-testing.mdqueues.md
Organize documentation by repository:
documentation/
├── vimeo/ # Vimeo-specific documentation
│ ├── frontend-*.md # Frontend docs
│ └── backend-*.md # Backend docs (future)
└── other-repo/ # Other repository docs (future)
After adding new documentation:
- Run
npm run buildto copy files to the dist directory - Restart the MCP server to pick up new files
Add the following json to the mcp config file for your IDE of choice.
Windsurf and Claude Desktop are confirmed working
{
"mcpServers": {
"vimeo-dev-docs": {
"command": "node",
"args":["/absolute/path/to/dev-mcp/dist/index.js"]
// ex: /Users/kyler.berry/Code/dev-mcp/dist/index.js
}
}
}- Windsurf:
~/.codeium/windsurf/mcp_config.json - Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json - VSCode: TBD
- Cursor: TBD
- Claude Code: TBD
- Make changes to your tools
- Run
npm run buildto compile - The server will automatically load your tools on startup
Run npx @modelcontextprotocol/inspector node dist/index.js to create an inspector for the currently running MCP server.
Starting MCP inspector...
⚙️ Proxy server listening on 127.0.0.1:6277
🔑 Session token: 7975b0b037f7819c60c29369b955aae1a91e58bbec6d99eb06db10b0d36902b6
Use this token to authenticate requests or set DANGEROUSLY_OMIT_AUTH=true to disable auth
🔗 Open inspector with token pre-filled:
http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=7975b0b037f7819c60c29369b955aae1a91e58bbec6d99eb06db10b0d36902b6
(Auto-open is disabled when authentication is enabled)
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀