open-index/open-npm huggingface dataset:
npm package: @infrastellar/tesseract-mcp
Description: Local MCP server that connects Claude Code, Cursor, and other MCP clients to [Tesseract](https://tesseract.ing) running in the cloud.
Latest version: 0.1.3

# @infrastellar/tesseract-mcp

Local MCP server that connects Claude Code, Cursor, and other MCP clients to [Tesseract](https://tesseract.ing) running in the cloud.

## Quick Start

### 1. Configure your MCP client

**Claude Code:**

```bash
claude mcp add tesseract -- npx @infrastellar/tesseract-mcp
```

**Claude Desktop** (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "tesseract": {
      "command": "npx",
      "args": ["@infrastellar/tesseract-mcp"]
    }
  }
}
```

**Cursor / other MCP clients:**

```json
{
  "mcpServers": {
    "tesseract": {
      "command": "npx",
      "args": ["tesseract-mcp"]
    }
  }
}
```

### 2. Authenticate

On the first use, call the `login` tool from your MCP client. This opens a browser for pairing with your Tesseract account. Credentials are saved to `~/.tesseract/credentials.json`.

## How It Works

The proxy speaks MCP over stdio to your client and forwards each request as an RPC message over WebSocket to the cloud Tesseract renderer.

- **Connect-on-demand**: WebSocket opens on the first MCP request
- **Idle timeout**: Connection closes after 60 seconds of inactivity
- **Auto-reconnect**: If the connection drops while a request is in flight, the proxy reconnects (up to 3 attempts)

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `TESSERACT_API_URL` | Cloud API base URL | `https://cloud.tesseract.ing` |
| `TESSERACT_CONFIG_DIR` | Config directory | `~/.tesseract` |
npm package: @infrastructure.dev/builder
Description: common bundler and dev server
Author: Volodymyr Terebus
Latest version: 0.0.1

# Dev builder
```js
// sample ./dev-builder.config.js
const sourcePath = __dirname;

module.exports = (type, env) => {
  const environmentKey = env.environment || "dev";
  return {
    sourcePath: sourcePath,
    indexFile: "./src/index.ts",
    outputDir: "./dist",
    outputLibraryFileName: "index",
    tsConfigFile: "./tsconfig.json",
    externals: [],
    environment: {
      ENV_KEY: environmentKey,
      NODE_ENV: environmentKey !== "dev" ? "production" : "development",
    },
    html:  type!=='build',
    plugin: false,
    library: type==='build',
    optimize: environmentKey !== "dev",
    sourceMap: true,
    htmlTemplate: "./src/index.html",
    devServer: {
      host: "127.0.0.1",
      port: 4200,
    },
  };
};
```
```json
// sample ./package.json
{
  "scripts": {
    // defaults: 
    // --config (alias: -c) ./dev-builder.config.js 
    // --env.environment=dev"
    // --debug (alias: -d) false
    // --quiet (alias: -q) false
    // --verbose (alias: -v) false
    "serve": "dev-builder run server",
    "build": "dev-builder run build --env.environment=prod",
    "build-esm": "dev-builder run build-esm --env.environment=prod",
    "serve-explicitly": "dev-builder run server -dv --config ./dev-builder.config.js --env.environment=dev",
    "build-explicitly": "dev-builder run build -dv --config ./dev-builder.config.js --env.environment=prod"
  }
}
```
npm package: @infrastructure.dev/tslint-config
Description: shared tslint config
Author: Volodymyr Terebus
Latest version: 0.0.1

# Shared tslint config

```json
// sample of tslint.json
{
  "extends": "@infrastructure.dev/typescript-config",
  "compilerOptions": {
    /* Project Options */
    "outDir": "./dist",

    /* Module Resolution */
    "baseUrl": "./src",
    "typeRoots": ["node_modules/@types"]
  },
  "include": ["src/**/*"],
  "exclude": ["dist", "node_modules"]
}
```
npm package: @infrastructure.dev/typescript-config
Description: shared typescript config
Author: Volodymyr Terebus
Latest version: 0.0.1

# Shared typescript config

```json
// sample of tsconfig.json
{
  "extends": ["@infrastructure.dev/tslint-config"],
  "linterOptions": {
    "exclude": ["node_modules/**", "dist/**"]
  }
}
```