Skip to main content
Glama
sbraind

MCP Lite Wrappers

by sbraind

MCP Lite Wrappers

Lightweight MCP wrapper plugins that consolidate multiple tools into single-action tools, reducing Claude Code context usage by ~80%.

Problem

MCP servers expose many individual tools, each consuming context tokens. For example, supabase-mcp exposes 20+ tools, using ~11k tokens just for tool definitions.

Solution

Wrap multiple tools into a single tool with an action parameter. One tool, one description, massive token savings.

Before: 20 tools × ~500 tokens = ~10,000 tokens
After:  1 tool  × ~1,000 tokens = ~1,000 tokens
Savings: ~80%

Packages

Package

Wraps

Tools → 1

Est. Savings

supabase-lite-mcp

supabase-mcp

30 → 1

~11k tokens

linear-lite-mcp

Linear GraphQL API

28 → 1

~12k tokens

chrome-lite-mcp

Chrome DevTools

34 → 1

~14k tokens

context7-lite-mcp

Context7 MCP

2 → 1

~400 tokens

Installation

supabase-lite-mcp

npm install supabase-lite-mcp

Add to your Claude Code MCP config (~/.claude/settings.json or project .mcp.json):

{
  "mcpServers": {
    "supabase": {
      "command": "npx",
      "args": ["supabase-lite-mcp"],
      "env": {
        "SUPABASE_ACCESS_TOKEN": "your-access-token",
        "SUPABASE_PROJECT_REF": "your-project-ref"
      }
    }
  }
}

linear-lite-mcp

npm install linear-lite-mcp

Add to your Claude Code MCP config:

{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": ["linear-lite-mcp"],
      "env": {
        "LINEAR_API_KEY": "lin_api_xxxxx"
      }
    }
  }
}

Get your Linear API key from Linear Settings > API.

chrome-lite-mcp

npm install chrome-lite-mcp

Add to your Claude Code MCP config:

{
  "mcpServers": {
    "chrome": {
      "command": "npx",
      "args": ["chrome-lite-mcp"],
      "env": {
        "CHROME_PATH": "/path/to/chrome",
        "CHROME_HEADLESS": "true"
      }
    }
  }
}

Environment variables (optional):

  • CHROME_PATH - Path to Chrome executable (auto-detected if not set)

  • CHROME_HEADLESS - Set to "false" for visible browser (default: headless)

context7-lite-mcp

npm install context7-lite-mcp

Add to your Claude Code MCP config:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["context7-lite-mcp"],
      "env": {
        "CONTEXT7_API_KEY": "your-api-key"
      }
    }
  }
}

Environment variables (optional):

Usage

Supabase

All actions go through a single supabase tool:

// List projects
{ action: "list_projects" }

// Execute SQL
{ action: "execute_sql", payload: { query: "SELECT * FROM users" } }

// Deploy edge function
{ action: "deploy_edge_function", payload: { slug: "my-func", code: "..." } }

Available Actions

Projects & Organizations

  • list_projects, get_project, create_project, pause_project, restore_project

  • list_organizations, get_organization

Cost Management

  • get_cost, confirm_cost

Database

  • execute_sql, list_tables, list_extensions

  • list_migrations, apply_migration

Monitoring

  • get_logs, get_advisors

Project Info

  • get_project_url, get_publishable_keys, generate_typescript_types

Edge Functions

  • list_edge_functions, get_edge_function, deploy_edge_function

Branching

  • create_branch, list_branches, delete_branch

  • merge_branch, reset_branch, rebase_branch

Storage

  • list_storage_buckets, get_storage_config, update_storage_config

Documentation

  • search_docs

Linear

All actions go through a single linear tool:

// Create an issue
{ action: "create_issue", payload: { title: "Fix bug", teamId: "TEAM-ID" } }

// Search issues
{ action: "search_issues", payload: { query: "login bug", limit: 10 } }

// Get user's teams
{ action: "get_user_teams" }

Linear Available Actions

Issues

  • create_issue, update_issue, get_issue, search_issues

  • get_user_issues, get_team_issues, get_project_issues

Comments

  • add_comment, get_comments

Teams & Projects

  • get_teams, get_team, get_projects, get_project

Labels

  • get_labels, create_label, update_label

Users

  • get_viewer, get_users, get_user_teams, get_user_projects

Issue Relations

  • link_issues, get_issue_relations

Attachments

  • add_attachment, get_attachments

Workflow & Milestones

  • get_workflow_states, get_milestones, create_milestone, update_milestone

Chrome

All actions go through a single chrome tool:

// Navigate to a URL with auto-capture (saves .md, .html, .png)
{ action: "navigate_page", payload: { url: "https://example.com", autoCapture: true, outputDir: "./captures" } }

// Click an element
{ action: "click", payload: { selector: "#submit-btn" } }

// Fill a form field
{ action: "fill", payload: { selector: "#email", value: "test@example.com" } }

// Select option from dropdown
{ action: "select", payload: { selector: "#country", value: "US" } }

// Extract content in different formats
{ action: "extract", payload: { selector: ".article", format: "markdown" } }

// Take a screenshot
{ action: "take_screenshot", payload: { fullPage: true } }

// Show browser (switch from headless to visible)
{ action: "show_browser" }

// Set browser profile
{ action: "set_profile", payload: { name: "work", userDataDir: "~/.chrome-profiles/work" } }

Chrome Available Actions

Input Automation

  • click, drag, fill, fill_form, handle_dialog, hover, press_key, upload_file, select

Navigation

  • navigate_page (with auto-capture support), new_page, list_pages, select_page, close_page, wait_for

Emulation

  • emulate, resize_page

Performance

  • performance_start_trace, performance_stop_trace, performance_analyze_insight

Network

  • get_network_request, list_network_requests

Extraction & Debugging

  • extract (text/html/markdown), get_attr, evaluate_script, take_screenshot, take_snapshot, list_console_messages, get_console_message

Browser Control

  • show_browser, hide_browser, browser_mode

Profile Management

  • set_profile, get_profile

Context7

All actions go through a single context7 tool:

// Resolve library ID
{ action: "resolve_library_id", payload: { libraryName: "next.js" } }

// Get library docs
{ action: "get_library_docs", payload: {
  context7CompatibleLibraryID: "/vercel/next.js",
  topic: "routing",
  tokens: 5000
} }

Context7 Available Actions

Library Resolution

  • resolve_library_id - Search for libraries and get Context7-compatible IDs

Documentation

  • get_library_docs - Fetch up-to-date, version-specific documentation with optional topic filtering

Architecture

Follows the superpowers-chrome pattern:

  1. Single tool with action enum parameter

  2. Switch/dispatch based on action

  3. Proxy calls to underlying API (Supabase Management API, Linear GraphQL API)

packages/
├── supabase-lite/
│   ├── src/
│   │   ├── index.ts      # MCP server entry
│   │   ├── actions.ts    # Action dispatcher
│   │   ├── types.ts      # Zod schemas
│   │   └── client/       # API client
│   └── package.json
├── linear-lite/
│   ├── src/
│   │   ├── index.ts      # MCP server entry
│   │   ├── actions.ts    # Action dispatcher
│   │   ├── types.ts      # Zod schemas
│   │   └── client/       # GraphQL client
│   └── package.json
└── chrome-lite/
    ├── src/
    │   ├── index.ts      # MCP server entry
    │   ├── actions.ts    # Action dispatcher
    │   ├── types.ts      # Zod schemas
    │   └── browser/      # Puppeteer wrapper
    └── package.json

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Type check
npm run typecheck

Tech Stack

  • TypeScript

  • Zod for validation

  • MCP SDK (@modelcontextprotocol/sdk)

  • puppeteer-core (for chrome-lite)

License

MIT

References

-
security - not tested
F
license - not found
-
quality - not tested

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/sbraind/mcp-lite-wrappers'

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