Skip to main content
Glama
portel-dev

NCP - Natural Context Provider

by portel-dev
aws-server.js4.63 kB
#!/usr/bin/env node /** * Mock AWS MCP Server * Real MCP server structure for AWS services testing */ import { MockMCPServer } from './base-mock-server.js'; const serverInfo = { name: 'aws-test', version: '1.0.0', description: 'Amazon Web Services integration for EC2, S3, Lambda, and cloud resource management' }; const tools = [ { name: 'create_ec2_instance', description: 'Launch new EC2 virtual machine instances with configuration. Create servers, deploy applications to cloud.', inputSchema: { type: 'object', properties: { image_id: { type: 'string', description: 'AMI ID for instance' }, instance_type: { type: 'string', description: 'Instance size (t2.micro, m5.large, etc.)' }, key_name: { type: 'string', description: 'Key pair name for SSH access' }, security_groups: { type: 'array', description: 'Security group names', items: { type: 'string' } }, tags: { type: 'object', description: 'Instance tags as key-value pairs' } }, required: ['image_id', 'instance_type'] } }, { name: 'upload_to_s3', description: 'Upload files and objects to S3 storage buckets. Store files in cloud, backup data, host static content.', inputSchema: { type: 'object', properties: { bucket: { type: 'string', description: 'S3 bucket name' }, key: { type: 'string', description: 'Object key/path in bucket' }, file_path: { type: 'string', description: 'Local file path to upload' }, content_type: { type: 'string', description: 'MIME type of file' }, public: { type: 'boolean', description: 'Make object publicly accessible' } }, required: ['bucket', 'key', 'file_path'] } }, { name: 'create_lambda_function', description: 'Deploy serverless Lambda functions for event-driven computing. Run code without servers, process events.', inputSchema: { type: 'object', properties: { function_name: { type: 'string', description: 'Lambda function name' }, runtime: { type: 'string', description: 'Runtime environment (nodejs18.x, python3.9, etc.)' }, handler: { type: 'string', description: 'Function handler entry point' }, code: { type: 'object', description: 'Function code (zip file or inline)' }, role: { type: 'string', description: 'IAM role ARN for execution' } }, required: ['function_name', 'runtime', 'handler', 'code', 'role'] } }, { name: 'list_resources', description: 'List AWS resources across services with filtering options. View EC2 instances, S3 buckets, Lambda functions.', inputSchema: { type: 'object', properties: { service: { type: 'string', description: 'AWS service name (ec2, s3, lambda, etc.)' }, region: { type: 'string', description: 'AWS region to query' }, filters: { type: 'object', description: 'Service-specific filters' } }, required: ['service'] } }, { name: 'create_rds_database', description: 'Create managed RDS database instances with configuration. Set up MySQL, PostgreSQL databases in cloud.', inputSchema: { type: 'object', properties: { db_name: { type: 'string', description: 'Database instance identifier' }, engine: { type: 'string', description: 'Database engine (mysql, postgres, etc.)' }, instance_class: { type: 'string', description: 'Database instance size' }, allocated_storage: { type: 'number', description: 'Storage size in GB' }, username: { type: 'string', description: 'Master username' }, password: { type: 'string', description: 'Master password' } }, required: ['db_name', 'engine', 'instance_class', 'allocated_storage', 'username', 'password'] } } ]; // Create and run the server const server = new MockMCPServer(serverInfo, tools); server.run().catch(console.error);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/portel-dev/ncp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server