Skip to content

jaseci-labs/jac-mcp-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MCP Playground

A Postman-style interactive playground for Model Context Protocol (MCP) servers β€” explore, test, and debug MCP servers directly from your browser.

MCP Jac License

Features

πŸ”Œ Universal MCP Server Connectivity

  • Connect to any MCP server via URL β€” whether public or private
  • Dual transport support:
    • Streamable HTTP β€” Modern, session-aware transport (recommended)
    • SSE (Legacy) β€” Server-Sent Events for older MCP servers
  • Multiple authentication methods:
    • Bearer Token (OAuth2/JWT)
    • API Key with custom header
    • Basic Auth (Base64)
    • No authentication for public servers

πŸ› οΈ Complete Capability Exploration

  • Tools β€” Execute server tools with auto-generated forms from JSON Schema
  • Prompts β€” Invoke contextual prompts with arguments and preview generated messages
  • Resources β€” Browse exposed resources with content preview and MIME type detection
  • Real-time discovery β€” All capabilities fetched and displayed instantly upon connection

πŸ“Š Live Request/Response Logging

  • Real-time JSON-RPC logs β€” Watch every request and response as it happens
  • Timing data β€” See how long each request takes
  • Status indicators β€” Visual feedback for pending, success, and error states
  • Full history β€” Access up to 200 recent requests with complete payloads

🎨 Beautiful, Modern UI

  • Dark mode by default β€” Easy on the eyes for long debugging sessions
  • Responsive design β€” Works seamlessly on desktop, tablet, and mobile
  • 3-panel playground layout β€” Server sidebar, capability explorer, and logs panel
  • Smooth animations β€” Polished transitions and micro-interactions
  • Monaco Editor integration β€” For editing JSON payloads and viewing code

πŸš€ Official MCP Server Registry

  • Browse official MCP servers from the registry
  • Filter by transport type (HTTP, SSE, STDIO)
  • Search by name, namespace, or description
  • One-click testing β€” Connect to any listed server instantly

πŸ”’ CORS-Friendly Architecture

  • Built-in proxy walker β€” Handles CORS automatically for cross-origin requests
  • Session persistence β€” Maintains MCP session IDs across requests
  • Browser-based β€” No local installation required for testing remote servers

Advantages

Compared to CLI Tools

  • Visual interface β€” No need to remember JSON-RPC commands
  • Auto-generated forms β€” Tool parameters presented as form fields, not raw JSON
  • Multiple connections β€” Test several servers simultaneously
  • Shareable URLs β€” Send connections to teammates

Compared to Other MCP Clients

  • Full protocol support β€” Tools, prompts, and resources in one place
  • Transport flexibility β€” Switch between HTTP and SSE without code changes
  • Zero setup β€” Open in browser and start testing
  • Built-in registry β€” Discover official servers without searching documentation

Developer Experience

  • Hot reload β€” Changes reflect instantly during development
  • Type exploration β€” See tool schemas and prompt arguments visually
  • Error visibility β€” Clear error messages with full response bodies
  • Session debugging β€” Inspect session IDs and transport behavior

What Makes It Unique

Built with Jac (Jaseci Framework)

This is one of the first production MCP tools built entirely in Jac β€” a revolutionary full-stack language that combines:

  • Frontend β€” React-like components (cl blocks)
  • Backend β€” Server-side walkers (walker:pub)
  • Single language β€” No context switching between JS/Python/Go

Postman-Inspired for MCP

Just as Postman revolutionized API testing, MCP Playground brings the same experience to Model Context Protocol servers:

  • Collection management β€” Organize your MCP servers
  • Environment switching β€” Test against different servers
  • Request history β€” Reuse and inspect previous calls

Session-Aware Architecture

Unlike simple HTTP clients, MCP Playground understands MCP sessions:

  • Captures and reuses mcp-session-id headers
  • Handles SSE endpoint discovery automatically
  • Manages session lifecycle per connection

Quick Start

Prerequisites

# Install Jaseci CLI
pip install jaclang jac-client

Development

# Clone the repository
git clone https://github.com/jaseci-labs/jac-mcp-playground.git
cd jac-mcp-playground

# Start development server
jac start main.jac

Visit http://localhost:8000 to start exploring MCP servers.

Deployment (Kubernetes)

# Deploy to your Kubernetes cluster
jac start main.jac --scale

Usage Examples

Connect to an MCP Server

  1. Navigate to Playground β†’ Add Server
  2. Enter server URL (e.g., https://mcp.example.com/mcp/)
  3. Select transport (Streamable HTTP recommended)
  4. Add authentication if required
  5. Click Connect

Execute a Tool

  1. Select a connected server
  2. Go to Tools tab
  3. Click on any tool
  4. Fill in the auto-generated form
  5. See the response instantly in the logs panel

Browse Official Registry

  1. Navigate to MCP Servers List
  2. Browse available servers
  3. Click Test Server on any entry
  4. Pre-filled connection form opens automatically

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         Browser                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   React   β”‚  β”‚   MCP Store  β”‚  β”‚  MCP Client Hook    β”‚  β”‚
β”‚  β”‚  (cl)     β”‚  β”‚ (Context)    β”‚  β”‚  (JSON-RPC)         β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚
β”‚                           β”‚                                  β”‚
β”‚                    HTTP POST                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Jac Runtime                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚         mcp_proxy Walker (CORS Handler)             β”‚    β”‚
β”‚  β”‚  β€’ Forward requests to MCP server                   β”‚    β”‚
β”‚  β”‚  β€’ Handle SSE endpoint discovery                    β”‚    β”‚
β”‚  β”‚  β€’ Stream responses line-by-line                    β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚  MCP Server    β”‚
              β”‚  (Remote)      β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

  • Framework: Jac (Jaseci) β€” Full-stack language
  • Frontend: React-like components via cl blocks
  • Styling: Tailwind CSS v4 with custom theme
  • Editor: Monaco Editor (VS Code editor component)
  • Icons: Lucide React
  • Deployment: Kubernetes via jac-scale

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License β€” see LICENSE for details.

Links

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors