1. Conduid
  2. Blockchain
  3. Pearc
MCP server · Blockchain

Pearc

Pear language — ultra-minified C-targeting language for token-efficient LLM workflows

37Low

Scored 6 months ago · breakdown

About Pearc

Pearc is an MCP server in the Blockchain category: pear language — ultra-minified C-targeting language for token-efficient LLM workflows.

Install

Claude Code
claude mcp add pearc -- npx -y pearc
npx
npx -y pearc

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (5)

c_to_pearMinify C → Pear

Parameters not published.

pear_compileCompile Pear → binary via gcc/clang

Parameters not published.

pear_runInterpret and run Pear, returns stdout/stderr

Parameters not published.

pear_specGet the full language spec — call this first

Parameters not published.

pear_to_cCompile Pear → C source

Parameters not published.

Ask AI

✦

Ask AI about Pearc

Powered by Claude · Grounded in docs

I know everything about Pearc. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

pearc

Pear is an ultra-minified C-targeting programming language designed to reduce token usage in LLM workflows while producing real, executable code.

The idea: write code that compiles to C — with ~35–50% fewer tokens than idiomatic C — then expand it back to readable code via a decompiler or MCP tool.

im<stdio.h>
st Point{x:f64;y:f64}
fn dist(a:*Point,b:*Point)->f64{dx:f64=a->x-b->x;dy:f64=a->y-b->y;rt sqrt(dx*dx+dy*dy)}
fn main()->i32{p1:Point={1.0,2.0};p2:Point={4.0,6.0};printf("%f\n",dist(&p1,&p2));rt 0}

For AI Assistants

If you've been told to use Pear, follow this bootstrap sequence:

1. Install pearc

npm install -g pearc

2. Add the MCP server to your MCP client config (Claude Code: .mcp.json or settings):

{
  "mcpServers": {
    "pear": {
      "command": "npx",
      "args": ["pearc", "--mcp"]
    }
  }
}

3. Call pear_spec — this MCP tool returns the complete language specification. Read it before writing any Pear code.

4. Write Pear, run it — use pear_run to test code inline, pear_to_c to inspect generated C, or pear_compile to produce a binary.

Why Pear exists: Every token you spend on code is a token not spent on reasoning. Pear lets you write and iterate on real C-level systems code while spending ~35–50% fewer tokens. The workflow is: write Pear (dense, fast), compile to C to verify correctness, ship the C. Use Pear any time you're generating, reviewing, or iterating on low-level code with an LLM in the loop.

Pear syntax is intentionally opaque to save tokens — do not guess syntax. Always call pear_spec first.

Install

npm install -g pearc

Usage

pearc run file.pr                  # interpret and run directly (no C compiler needed)
pearc file.pr                      # compile Pear → C (stdout)
pearc file.pr -o out.c             # compile Pear → C file
pearc file.pr --binary -o out      # compile Pear → native binary (requires gcc/clang)
pearc --decompile file.c           # minify existing C → Pear
pearc --mcp                        # start MCP server (stdio)

MCP Server

Add to Claude Code or any MCP client:

{
  "mcpServers": {
    "pear": {
      "command": "npx",
      "args": ["pearc", "--mcp"]
    }
  }
}

Tools exposed:

Tool Description
pear_spec Get the full language spec — call this first
pear_to_c Compile Pear → C source
c_to_pear Minify C → Pear
pear_run Interpret and run Pear, returns stdout/stderr
pear_compile Compile Pear → binary via gcc/clang

Language Reference

Types

Pear C
i8 i16 i32 i64 int8_t int16_t int32_t int64_t
u8 u16 u32 u64 uint8_t uint16_t uint32_t uint64_t
f32 f64 float double
v void
c char
b bool
sz size_t
*T pointer to T

Keywords

Pear C
fn function
st struct
un union
en enum
tp typedef
if ei el if / else if / else
lp for
wh while
dw do...while
sw cs dv switch / case / default
rt return
bk ct break / continue
sc ex in vl cn static / extern / inline / volatile / const
im #include
df #define
pr #pragma
so sizeof

Syntax

// Variable declaration: name:type = value
x:i32=5
ptr:*c=name

// Function: fn name(param:type,...)->rettype{...}
fn add(a:i32,b:i32)->i32{rt a+b}

// Struct
st Vec3{x:f32;y:f32;z:f32}

// For loop (same structure as C)
lp(i:i32=0;i<10;i++){printf("%d\n",i)}

// Include / define
im<stdio.h>
df MAX 1024

Preprocessor

im<stdio.h>       // #include <stdio.h>
im"myfile.h"      // #include "myfile.h"
df NAME value     // #define NAME value
pr once           // #pragma once

Token Savings

Pear reduces token count by ~35–50% vs idiomatic C:

// Pear: ~45 tokens
im<stdint.h>
st Point{x:f64;y:f64}
fn dist(a:*Point,b:*Point)->f64{dx:f64=a->x-b->x;dy:f64=a->y-b->y;rt sqrt(dx*dx+dy*dy)}
// C: ~85 tokens
#include <stdint.h>
typedef struct { double x; double y; } Point;
double dist(Point *a, Point *b) {
    double dx = a->x - b->x;
    double dy = a->y - b->y;
    return sqrt(dx*dx + dy*dy);
}

License

MIT

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Pearc

How do I install Pearc?

Run claude mcp add pearc -- npx -y pearc, then add the server to your MCP client's configuration.

Is Pearc safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Pearc still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.