MCP Server Suite
Allows interaction with a SQLite database, providing tools for querying, inserting, updating, and deleting data, as well as listing, describing, and creating tables.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Server SuiteList all EC2 instances in us-east-1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server Suite
A production-ready suite of Model Context Protocol (MCP) servers in TypeScript. Gives AI agents (Kiro, Claude Desktop, Cursor) programmatic access to AWS resources, local databases, and web scraping capabilities.
Zero Cost Guarantee
This project costs $0 to build, test, and run. No paid APIs, no cloud hosting, no subscriptions. See Cost Breakdown below.
Related MCP server: ScrapeGraph MCP Server
Documentation
Document | Purpose |
Step-by-step: install, build, test, run manually | |
How to explain this project, demo script, talking points | |
Full tool input/output schemas | |
Data flow, patterns, security |
Architecture
graph TB
subgraph "AI Clients"
K[Kiro IDE]
CD[Claude Desktop]
CU[Cursor]
end
subgraph "MCP Transport Layer"
STDIO[stdio / JSON-RPC 2.0]
end
subgraph "MCP Server Suite"
subgraph "aws-explorer"
S3[list-s3-buckets<br/>list-s3-objects]
EC2[list-ec2-instances<br/>describe-ec2-instance]
LAMBDA[list-lambda-functions<br/>describe-lambda-function]
DYNAMO[list-dynamodb-tables<br/>describe-dynamodb-table]
end
subgraph "database"
QUERY[query]
INSERT[insert]
UPDATE[update]
DELETE[delete]
SCHEMA[list-tables / describe-table<br/>create-table]
end
subgraph "web-scraper"
FETCH[fetch-page]
LINKS[extract-links]
TEXT[extract-text]
SEARCH[search-in-page]
end
subgraph "shared"
LOGGER[Logger]
ERRORS[Error Handling]
TYPES[Response Types]
MW[Middleware<br/>Retry / Circuit Breaker]
end
end
subgraph "External Services"
AWS[AWS SDK v3]
SQLITE[SQLite via sql.js]
WEB[Web / HTTP]
end
K & CD & CU --> STDIO
STDIO --> S3 & EC2 & LAMBDA & DYNAMO
STDIO --> QUERY & INSERT & UPDATE & DELETE & SCHEMA
STDIO --> FETCH & LINKS & TEXT & SEARCH
S3 & EC2 & LAMBDA & DYNAMO --> AWS
QUERY & INSERT & UPDATE & DELETE & SCHEMA --> SQLITE
FETCH & LINKS & TEXT & SEARCH --> WEB
aws-explorer & database & web-scraper -.-> sharedPackage Structure
graph LR
ROOT[mcp-server-suite<br/>Turborepo Monorepo]
ROOT --> SHARED["@mcp-suite/shared<br/>Logger, Errors, Types, Middleware"]
ROOT --> AWS["@mcp-suite/aws-explorer<br/>8 tools, 2 resources"]
ROOT --> DB["@mcp-suite/database<br/>7 tools, 3 resources"]
ROOT --> WS["@mcp-suite/web-scraper<br/>4 tools, 1 resource"]
AWS --> SHARED
DB --> SHARED
WS --> SHAREDQuick Start
Prerequisites
Node.js >= 18.0.0
npm >= 10.0.0
AWS credentials configured (for aws-explorer)
Installation
git clone <repository-url>
cd mcp-server-suite
npm install
npm run buildRunning Tests
npm run test # Run all tests (184 tests across 4 packages)
npm run test:coverage # Run with coverage reportsConfigure with Kiro
Add to your .kiro/settings/mcp.json:
{
"mcpServers": {
"aws-explorer": {
"command": "node",
"args": ["./packages/aws-explorer/dist/index.js"]
},
"database": {
"command": "node",
"args": ["./packages/database/dist/index.js"],
"env": {
"MCP_DB_PATH": "./data/my-database.db"
}
},
"web-scraper": {
"command": "node",
"args": ["./packages/web-scraper/dist/index.js"]
}
}
}Configure with Claude Desktop
{
"mcpServers": {
"aws-explorer": {
"command": "node",
"args": ["/absolute/path/to/packages/aws-explorer/dist/index.js"]
},
"database": {
"command": "node",
"args": ["/absolute/path/to/packages/database/dist/index.js"]
},
"web-scraper": {
"command": "node",
"args": ["/absolute/path/to/packages/web-scraper/dist/index.js"]
}
}
}Packages
@mcp-suite/aws-explorer
Provides read-only access to AWS resources. Requires AWS credentials via environment variables, CLI profile, or IAM role.
Tool | Description |
| List all S3 buckets, optionally filter by prefix |
| List objects in a bucket with prefix filtering |
| List Lambda functions with runtime/memory info |
| Get detailed Lambda config including env vars |
| List DynamoDB tables with optional details |
| Get table schema, indexes, throughput |
| List EC2 instances, filter by state |
| Full instance details including networking |
Resources:
aws://config/region— Current AWS regionaws://config/account— Account configuration summary
@mcp-suite/database
SQLite database operations via sql.js (pure JavaScript, no native deps). Supports full CRUD with safety guardrails.
Tool | Description |
| Execute read-only SQL (SELECT/WITH/EXPLAIN/PRAGMA) |
| Insert single or batch rows |
| Update rows (WHERE clause required) |
| Delete rows (WHERE clause required) |
| List all tables with optional row counts |
| Get column info, types, constraints, indexes |
| Create new tables with schema definition |
Resources:
db://schema/tables— All table namesdb://schema/full— Complete schema for all tablesdb://info— Database path, size, config
Environment Variables:
MCP_DB_PATH— Path to SQLite file (default:./mcp-data.db)
@mcp-suite/web-scraper
Fetch and parse web pages using cheerio. No browser required.
Tool | Description |
| Fetch page as text/html/markdown/metadata |
| Extract links with internal/external filtering |
| Extract text via CSS selectors |
| Search for text patterns with context |
Resources:
scraper://config— Scraper configuration and limits
@mcp-suite/shared
Shared utilities used by all servers.
Module | Exports |
|
|
|
|
|
|
|
|
Design Patterns
Repository Pattern (Database)
classDiagram
class IDatabaseRepository {
<<interface>>
+listTables(includeRowCounts?) TableListResult
+describeTable(tableName) TableSchema
+createTable(tableName, columns, ifNotExists?) WriteResult
+query(sql, params?, limit?) QueryResult
+insert(table, data) BatchInsertResult
+update(table, set, where, params?) WriteResult
+delete(table, where, params?) WriteResult
}
class DatabaseRepository {
-isReadOnlyQuery(sql) boolean
-validateTableExists(table) void
-validateWhereClause(where, operation) void
}
class queryTool
class insertTool
class updateTool
class deleteTool
IDatabaseRepository <|.. DatabaseRepository
queryTool --> DatabaseRepository
insertTool --> DatabaseRepository
updateTool --> DatabaseRepository
deleteTool --> DatabaseRepositoryCircuit Breaker (Shared Middleware)
stateDiagram-v2
[*] --> CLOSED
CLOSED --> OPEN : failure threshold reached
OPEN --> HALF_OPEN : recovery time elapsed
HALF_OPEN --> CLOSED : success
HALF_OPEN --> OPEN : failure
CLOSED --> CLOSED : success / below thresholdError Handling Flow
flowchart TD
A[Tool Called] --> B{Execute}
B -->|Success| C[createJsonResponse]
B -->|Error| D{Error Type?}
D -->|ValidationError| E[createErrorResponse<br/>400]
D -->|NotFoundError| F[createErrorResponse<br/>404]
D -->|RateLimitError| G[Retry with backoff]
D -->|ExternalServiceError| H[Circuit Breaker check]
D -->|Unknown Error| I[formatErrorResponse<br/>500]
G -->|Max retries| I
H -->|Circuit OPEN| J[Service unavailable]
H -->|Circuit CLOSED| BTech Stack
Layer | Technology |
Language | TypeScript 5.x (strict mode) |
MCP SDK | @modelcontextprotocol/sdk |
Validation | Zod v3 |
Transport | stdio (JSON-RPC 2.0) |
AWS | AWS SDK v3 (modular clients) |
Database | sql.js (pure JS SQLite) |
Web Parsing | cheerio |
Build | Turborepo monorepo |
Test | Vitest |
Module | ES2022 / Node16 resolution |
Development
# Build all packages
npm run build
# Type check without emitting
npm run typecheck
# Run tests
npm run test
# Clean build artifacts
npm run cleanEnvironment Variables
Variable | Package | Description |
| aws-explorer | AWS region (default: us-east-1) |
| aws-explorer | AWS CLI profile name |
| aws-explorer | AWS access key |
| aws-explorer | AWS secret key |
| database | SQLite file path |
| all | DEBUG, INFO, WARN, ERROR, SILENT |
Cost
Item | Cost |
AWS SDK | $0 — read-only operations on existing resources |
npm packages | All free/open-source |
MCP SDK | Free & open-source |
sql.js | Free (public domain SQLite) |
Deployment | $0 — runs locally |
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA comprehensive suite of Model Context Protocol servers designed to extend AI agent Claude's capabilities with integrations for knowledge management, reasoning, advanced search, news access, and workspace tools.Last updated5
- AlicenseAqualityBmaintenanceA production-ready Model Context Protocol server that enables language models to leverage AI-powered web scraping capabilities, offering tools for transforming webpages to markdown, extracting structured data, and executing AI-powered web searches.Last updated890MIT
- Alicense-qualityDmaintenanceA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated542MIT
- AlicenseAqualityCmaintenanceA Model Context Protocol server providing tools for DB queries, API calls, file I/O, and text transformations, enabling AI agents like Claude to perform real-world actions.Last updated10MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Real-time Amazon, WIPO & PACER data for AI agents — 19 tools via the MCP protocol.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Darshika0712/MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server