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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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