MCP Server

@objectifthunes/limestone-mcp is a Model Context Protocol server that gives any MCP-compatible LLM (Claude, Cursor, Windsurf, etc.) live access to Limestone SDK port interfaces, adapter wiring examples, and error diagnosis — without embedding documentation in every prompt.

Installation

    Add the server to Claude Code

    claude mcp add limestone-mcp -- npx @objectifthunes/limestone-mcp

    Verify the server is running

    claude mcp list

    You should see limestone-mcp in the list with status connected.

Tools

The server exposes three tools that LLMs call automatically when working with limestone-sdk code.

getPortInterface

Returns the full TypeScript interface definition and a usage example for any of the 16 port interfaces.

ParameterTypeExample
portNamestring"BiometricProvider", "CameraProvider", "NotificationProvider"

The lookup is case-insensitive: "biometricprovider" and "BiometricProvider" both resolve.

Example prompt that triggers this tool:

What methods does KeychainProvider expose?

getAdapterExample

Returns a complete wiring example for any adapter — import, factory call, defineConfig wiring, and a usage snippet in a component.

ParameterTypeExample
adapterNamestring"expo-biometrics", "expo-secure-store", "dev", "testing"

Example prompt that triggers this tool:

Show me how to wire up the expo-notifications adapter.

diagnose

Matches a runtime error message against known SDK error patterns and returns a root-cause explanation with fix steps.

ParameterTypeExample
errorMessagestring"NOT_FOUND", "UNAUTHORIZED", "adapter not registered"

Recognised patterns:

PatternDiagnosis
NOT_FOUND404 — null lookup, guard before proceeding
UNAUTHORIZED401 — missing/expired token, configure refreshEndpoint
FORBIDDEN403 — user lacks permission
VALIDATION_ERROR400 — Zod schema mismatch, check details field
CONFLICT409 — duplicate resource
RATE_LIMITED429 — add debounce or exponential backoff
INTERNAL_ERROR500 — unhandled server exception
adapter not registeredMissing adapter in defineConfig
cannot find moduleWrong subpath import or missing peer dep
theme validationZod validation failure in defineTheme
Provider not foundHook called outside <LimestoneProvider> tree

Example prompt that triggers this tool:

I’m getting “adapter not registered” when I call useBiometrics(). What’s wrong?

Resources

Two read-only resources are available for LLMs that want a complete overview rather than targeted lookups.

URIDescription
limestone://portsAll 16 ports with method signatures and descriptions
limestone://adaptersAll 17 adapters grouped by port, with factory names and peer deps

Other MCP clients

The server speaks the standard MCP stdio transport. Add it to any client that supports MCP servers:

Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "limestone-mcp": {
      "command": "npx",
      "args": ["@objectifthunes/limestone-mcp"]
    }
  }
}

Windsurf (~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "limestone-mcp": {
      "command": "npx",
      "args": ["@objectifthunes/limestone-mcp"]
    }
  }
}