contextslim

contextslim

Enables AI agents to optimize context by pruning large JSON payloads, enforcing token budgets, and handling x402 micropayments via Base blockchain.

Category
Visit Server

README

ContextSlim TypeScript SDK

High-performance M2M context middleware and x402 micropayment engine for AI Agents and MCP tools on Base.

ContextSlim prunes massive JSON payloads by up to 85%, enforces strict token budgets, and handles autonomous HTTP 402 EIP-712 micropayments—keeping agent execution fast, cost-effective, and deterministically within LLM context limits.

smithery badge


Proven E2E Benchmarks

Real-world test suite performance measured over live execution on Cloudflare KV + Base Sepolia:

MCP Tool / Operation Input Payload Output Payload Reduction / Impact Performance Metric
optimize_context 622 Tokens 94 Tokens 84.9% Token Saved 528 Tokens saved in array pruning
fetch_result (Targeted Path) 622 Tokens 9 Tokens 98.5% Savings Instant extraction via JSONPath
Session Pass (2nd Query) On-chain Auth Cache Auth 70% Latency Drop 0.43s $\rightarrow$ 0.13s execution speed

Architecture & Protocol Flow

ContextSlim seamlessly sits between your AI Agent framework, the Model Context Protocol (MCP), and the Base blockchain:

+-------------------+       1. MCP Tool Call       +------------------------+
|  AI Agent / LLM   | ---------------------------> |  @contextslim/sdk      |
| (Claude / Cursor) | <--------------------------- |  (TS Engine Client)    |
+-------------------+     4. Pruned Payload        +------------------------+
                                                               |        ^
                                             2. x402 Payment   |        | 3. Optimized Data
                                                Challenge/Pass |        |    & Reference ID
                                                               v        |
                                                   +--------------------------------+
                                                   | ContextSlim Worker Engine      |
                                                   | (Cloudflare KV + Pruner Engine)|
                                                   +--------------------------------+
                                                                   |
                                                                   v (On-Chain Settlement)
                                                   +--------------------------------+
                                                   | Base Network (USDC / ERC-3009) |
                                                   +--------------------------------+

Installation

Install the agnostic SDK optimized for Node.js (v18+), Bun, Deno, and Cloudflare Workers:

npm install @contextslim/sdk ethers dotenv

MCP Client Configurations

1. Claude Desktop Integration

Add the following configuration to your claude_desktop_config.json file:

{
  "mcpServers": {
    "contextslim": {
      "command": "npx",
      "args": ["-y", "@contextslim/sdk"],
      "env": {
        "ENDPOINT_URL": "https://contextslim.friczero.com",
        "PRIVATE_KEY": "0x_YOUR_AGENT_PRIVATE_KEY"
      }
    }
  }
}

2. Cursor IDE (.cursor/mcp.json)

{
  "mcpServers": {
    "contextslim": {
      "url": "https://contextslim.friczero.com/message"
    }
  }
}

3. Smithery CLI

One-click installation via Smithery:

npx -y @smithery/cli install contextslim --client claude

30-Second Quickstart

This script initializes the client with an active Session Pass ($0.005 USDC), prunes a massive JSON payload, and retrieves specific fields with ultra-low latency:

import { ContextSlimClient } from "@contextslim/sdk";
import { Wallet } from "ethers";
import * as dotenv from "dotenv";

dotenv.config();

async function main() {
  // 1. Initialize Local Signer (Private key isolated in memory)
  const wallet = new Wallet(process.env.PRIVATE_KEY!);

  // 2. Instantiate ContextSlim Client
  const client = new ContextSlimClient({
    endpoint: process.env.ENDPOINT_URL || "https://contextslim.friczero.com",
    signer: wallet,
    allowanceBudget: 0.005, // Optional: Enables Session Pass to avoid signing every query
    maxTokenBudget: 1000,
  });

  // 3. Prune Massive Payload (optimize_context)
  const heavyPayload = {
    critical_alert: {
      severity: "CRITICAL",
      system: "database-cluster-primary",
      message: "Connection pool exhausted on port 5432",
    },
    system_status: { cpu_load: "88%", memory_used: "14.2GB" },
    logs: Array.from({ length: 100 }, (_, i) => `Log entry #${i + 1}: Activity sweep`),
  };

  console.log("Optimizing massive context...");
  const prep = await client.callTool("optimize_context", {
    data: heavyPayload,
    maxTokenBudget: 150,
  });

  const res = prep.result || {};
  const refId = res.toolResultReference?.referenceId || res.referenceId;
  console.log(`Reference Cached in KV: ${refId}`);
  console.log(`Saved Tokens: ${prep.metrics?.savedTokens}`);
  console.log(`Compression Ratio: ${prep.metrics?.reductionPercentage}`);

  // 4. Targeted Path Extraction (fetch_result)
  console.log("Retrieving only 'critical_alert.severity'...");
  const extracted = await client.callTool("fetch_result", {
    referenceId: refId,
    paths: ["critical_alert.severity"],
  });

  console.log("Result:", JSON.stringify(extracted?.result ?? {}, null, 2));
  // Returns only 9 tokens: { critical_alert: { severity: 'CRITICAL' } }
}

main().catch(console.error);

Advanced Signer Setup (Production & Enterprise)

While passing a raw ethers.Wallet initialized from an environment variable works for local development, production AI agents should avoid storing plain-text private keys in .env files.

ContextSlimClient accepts any standard ethers.Signer interface, allowing seamless integration with Hardware Security Modules (HSMs), Cloud Key Management Services (KMS), and Multi-Party Computation (MPC) infrastructure:

1. AWS KMS / Cloud HSM

Keep keys non-exportable inside dedicated cloud HSMs:

import { KmsSigner } from "aws-kms-ethers-signer";
import { ContextSlimClient } from "@contextslim/sdk";

const kmsSigner = new KmsSigner({
  keyId: "arn:aws:kms:us-east-1:123456789012:key/your-agent-key-id",
});

const client = new ContextSlimClient({
  endpoint: "https://contextslim.friczero.com",
  signer: kmsSigner, // Native Ethers Signer wrapping AWS KMS
});

2. Turnkey / Non-Custodial MPC Wallets

Isolate credentials for serverless agents or multi-tenant agent architectures:

import { TurnkeySigner } from "@turnkey/ethers";
import { ContextSlimClient } from "@contextslim/sdk";

const turnkeySigner = new TurnkeySigner({
  client: turnkeyClient,
  organizationId: process.env.TURNKEY_ORGANIZATION_ID!,
  signWith: process.env.TURNKEY_WALLET_ADDRESS!,
});

const client = new ContextSlimClient({
  endpoint: "https://contextslim.friczero.com",
  signer: turnkeySigner,
});

API Reference

new ContextSlimClient(options)

Option Type Default Description
endpoint string Required Base URL of the ContextSlim Worker (https://contextslim.friczero.com).
signer ethers.Signer Required Ethers Signer implementation for ERC-3009/EIP-712 payment authorizations.
allowanceBudget number 0 USDC budget to pre-approve a Session Pass (base price: $0.001 USDC/call; on-chain settlement triggers at $0.005 USDC).
maxTokenBudget number 1000 Default response token limit.

client.callTool(name, params)

Unified invocation compatible with MCP JSON-RPC.

1. optimize_context Tool

Reduces complex JSON structures while preserving critical fields and inserting truncated reference markers (_slim).

  • Parameters:

    • data (object, required) - Full JSON payload to optimize.
    • maxTokenBudget (number, optional) - Hard token limit for the response payload.
  • Response:

{
  status: "success",
  result: {
    toolResultReference: { referenceId: "ref_ef17a253", expiresIn: "3600s" },
    // ... pruned payload
  },
  metrics: {
    savedTokens: "528",
    reductionPercentage: "84.9%",
    strategy: "recursive:arrays(47_items)"
  }
}

2. fetch_result Tool

Retrieves exact data subsets from a cached reference ID.

  • Parameters:

    • referenceId (string, required) - ID returned by optimize_context.
    • paths (string[], optional) - Dot-notation field paths to extract (e.g., ["user.id", "items[0].price"]).
  • Response:

{
  status: "success",
  referenceId: "ref_ef17a253",
  retrievedTokens: 9,
  result: { critical_alert: { severity: "CRITICAL" } }
}

Security & Resilience

  • Cryptographic Isolation: EIP-712 / ERC-3009 x402 payment challenge signing happens strictly within your local process or designated KMS signer. No private keys or seed phrases ever leave your execution environment.
  • Anti-Replay Protection: Every payment challenge issued by the HTTP 402 server includes time-bound single-use nonces. Reusing X-PAYMENT headers is strictly rejected.
  • Session Pass Mechanism: Setting an allowanceBudget issues an encrypted session pass, amortizing on-chain verification and speeding up subsequent KV fetches to an average execution speed of 0.13 seconds.

License

This project is licensed under the MIT License.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured