@doctorai/yandex-cloud-docs-mcp-server
v1.0.0
Published
MCP Server providing access to Yandex Cloud documentation from the docs folder
Maintainers
Readme
Yandex Cloud Documentation MCP Server
A Model Context Protocol (MCP) server that provides access to comprehensive Yandex Cloud documentation for serverless services including Cloud Functions, YDB, Object Storage, and more.
Features
- Comprehensive Documentation Access: Search and retrieve documentation for all Yandex Cloud serverless services
- Multiple Access Patterns: Tools, resources, and prompts for different use cases
- Serverless Deployment: Deploy directly to Yandex Cloud Functions
- RESTful API: HTTP endpoints for easy integration
Available Services Documentation
- Cloud Functions: Function deployment, triggers, management
- YDB: Database setup, connections, operations, monitoring
- Object Storage: Bucket management, hosting, CLI operations
- Authentication: IAM, service accounts, security
- Installation: SDK setup and configuration
- Error Handling: Troubleshooting and best practices
Local Development
Prerequisites
- Node.js 18+
- TypeScript
- Yandex Cloud CLI (for deployment)
Setup
- Install dependencies:
npm install- Build the project:
npm run build- Run locally (stdio mode):
npm start- Test with MCP Inspector:
npm run inspectorCloud Deployment
Prerequisites
- Yandex Cloud CLI: Install and configure the CLI
curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
yc init- Service Account: Create a service account with required permissions
yc iam service-account create --name mcp-server-sa
yc resource-manager folder add-access-binding <FOLDER_ID> \
--role editor \
--subject serviceAccount:<SERVICE_ACCOUNT_ID>Configuration
- Copy and edit the configuration file:
cp deploy/config.env deploy/config.env.local- Update the values in
deploy/config.env.local:
FUNCTION_NAME=yandex-cloud-docs-mcp-server
FOLDER_ID=your-folder-id-here
SERVICE_ACCOUNT_ID=your-service-account-id-hereDeploy
Deploy to Yandex Cloud Functions:
npm run deployThis will:
- Build the TypeScript project
- Create a deployment package with all documentation
- Create a Cloud Function
- Deploy the function version
- Make the function publicly accessible
- Return the function URL
Test Deployment
Test the deployed function:
npm run test-cloudThis runs comprehensive tests including:
- Server capabilities check
- Tool listing and execution
- Documentation search
- Service-specific queries
- Resource access
API Usage
HTTP Endpoints
GET / - Get server capabilities and available tools
curl https://your-function-url/POST / - Execute MCP JSON-RPC requests
curl -X POST https://your-function-url/ \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}'Available Tools
search_docs- Search documentation by keywordsget_document- Get specific document contentlist_documents- List all available documentsget_ydb_docs- Get YDB-specific documentationget_functions_docs- Get Cloud Functions documentationget_storage_docs- Get Object Storage documentationget_auth_installation_docs- Get auth and setup documentation
Example Requests
Search for authentication documentation:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_docs",
"arguments": {
"query": "authentication",
"category": "root"
}
}
}Get YDB setup documentation:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_ydb_docs",
"arguments": {
"topic": "setup"
}
}
}Documentation Structure
The server loads documentation from the docs/ folder:
docs/
├── Auth.md # Authentication guide
├── Installation.md # SDK installation
├── Functions.md # Cloud Functions overview
├── Handling_errors.md # Error handling
├── Functions/ # Functions-specific docs
│ ├── CreateFunction/
│ ├── ManageTriggers/
│ └── ...
├── YDB/ # YDB-specific docs
│ ├── YCYDB.md
│ └── ...
└── ObjectStorage/ # Storage-specific docs
├── StaticWebsiteHosting.md
└── ...Development
Project Structure
src/
├── index.ts # Local stdio server
├── function.ts # Cloud Functions handler
├── docs/
│ └── loader.ts # Documentation loader
├── tools/
│ └── index.ts # MCP tools registration
├── resources/
│ └── index.ts # MCP resources registration
└── prompts/
└── index.ts # MCP prompts registrationBuilding
npm run build # Build once
npm run build:watch # Build and watch for changesLinting
npm run lintLicense
MIT License - see LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Support
For issues and questions:
- Check the Yandex Cloud documentation in the
docs/folder - Use the search functionality to find relevant information
- Submit issues via the repository issue tracker
