Skip to content
silverpoint
Documentation menu

New in 0.8

Use with AI

Connect your assistant to the silverpoint MCP server, or install the skills, and it writes silverpoint from the facts of the version you use: React, Vue, Angular or Reflex.

Why agents need it

silverpoint is newer than every language model's training data, so an assistant left to itself invents its props. The silverpoint MCP server tells it the truth: which chart suits the data, the props each chart declares, the imports and stylesheets of your framework. It answers from the agent catalog of the version it ships with (0.8.0), generated from the published types, and it checks and draws what the assistant writes. The skills hold the same knowledge as files, for an assistant with no server connected.

The MCP server

Hosted at https://silverpointweb.vercel.app/mcp, over Streamable HTTP: read-only, stateless and without an account. Every result names the version it describes.

Claude Code

In a terminal:

shell
claude mcp add --transport http silverpoint https://silverpointweb.vercel.app/mcp

Claude

Settings → Connectors → Add custom connector, with this URL:

url
https://silverpointweb.vercel.app/mcp

Cursor

In ~/.cursor/mcp.json, or .cursor/mcp.json in a project:

json
{
  "mcpServers": {
    "silverpoint": {
      "url": "https://silverpointweb.vercel.app/mcp"
    }
  }
}

VS Code

In .vscode/mcp.json:

json
{
  "servers": {
    "silverpoint": {
      "type": "http",
      "url": "https://silverpointweb.vercel.app/mcp"
    }
  }
}

The Claude Code plugins

Each plugin installs its skill and connects the hosted server in one step. For React, Vue and Angular:

shell
/plugin marketplace add ecrespo/silverpoint
/plugin install silverpoint@silverpoint

For Reflex (Python):

shell
/plugin marketplace add ecrespo/reflex-silverpoint-react
/plugin install reflex-silverpoint@reflex-silverpoint

The skills

A skill is a folder of Markdown an agent loads on demand: a short SKILL.md and references whose tables are generated from the catalog. Both tell the agent to prefer the MCP tools when they are connected.

SkillWhat it covers
silverpointReact, Vue and Angular: choosing a chart, the charts by family, the components, overlays, grounds and palettes, the dashboard, the timeline, the diagnostics and each framework's idioms.
reflex-silverpointReflex: the builders and their snake_case props, State patterns and events, the provider and palettes, composed components and overlays, the dashboard and the timeline.

Running it locally

The same server runs over stdio from npm, with no network access of its own. It answers for the version you install:

shell
claude mcp add silverpoint -- npx -y @silverpoint/mcp

Or, in a server of your own:

ts
import { createServer, AGENT_CATALOG } from '@silverpoint/mcp';
import { handler } from '@silverpoint/mcp/http'; // stateless Streamable HTTP on Request/Response

Its tools

ToolWhat it answers
get_versionThe silverpoint version this server describes, the Reflex wrapper it is joined with, and the MCP protocol version.
list_chartsEvery chart, optionally filtered by family, intent (trend, compare, rank, part-to-whole, distribution, correlation, flow, hierarchy, change, uncertainty, progress, schedule, kpi, network) or data shape (series, categories, parts, matrix, hierarchy, links, points, distribution, intervals, events, single, field).
get_chartOne chart’s catalog entry: data shape, fields, props with defaults, names and imports. With framework, only that framework’s name, import and prop spelling.
list_componentsEvery UI component, optionally filtered by family (ui, composed, overlay) or group.
get_componentOne component’s catalog entry: props, binding, events, slots and states. With framework, in that framework’s terms.
recommend_chartUp to five charts for a data shape and an intent, ranked by a reviewed table, with the reasons. Deterministic: no model involved.
generate_codeThe imports, stylesheets and code that draw one chart or one component in React, Vue, Angular or Reflex, using only names, paths and props the catalog holds. fields maps the chart’s data roles to your field names.
search_catalogA token search over chart and component names, summaries, prop docs and diagnostic codes, best first; at most 20 hits.
validate_propsBuilds the chart with the core and returns every diagnostic it raises (code, severity, requirement, message, remedy) and the props it does not declare.
render_chartThe canonical render of one chart as a standalone SVG, the ground’s stylesheet inlined: what every adapter draws for the same props, data, size and id. Without data, the demo dataset.
check_paletteThe contrast findings of the core’s checkPalette for a preset or a palette of fields, over a substrate given as a hex or by name.

The server also offers the catalog, each chart and component, the diagnostic codes and the skills' guides as resources, and two prompts, choose-chart and build-dashboard. A name it does not know is a tool error with the closest valid names.

An example

The server is plain JSON-RPC over HTTP, so any client can ask it. Which chart draws hits per hour? recommend_chart with a data shape and an intent:

shell
curl -s https://silverpointweb.vercel.app/mcp \
  -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "recommend_chart", "arguments": {"shape": "series", "intent": "trend"}}}'
ChartScoreWhy
LineChart0.9A line is the plainest reading of a value over an ordered axis.
AreaChart0.8An area gives one series the weight of its magnitude.
StepChart0.6Steps show a value that holds until it changes.
StreamChart0.5Several value columns overlay or stack as waves.
PolarLineChart0.3A cyclic axis (hours, months, degrees) closes the line around a circle.

Then generate_code writes it for your framework, with your field names as accessors ({"x": "hour", "value": "hits"}). These are the server's answers for silverpoint 0.8.0, stylesheets included:

tsx
import '@silverpoint/fonts/fonts.css';
import '@silverpoint/grounds/styles.css';
import { LineChart } from '@silverpoint/react/line-chart';

export function LineChartView({ rows }: { rows: readonly Record<string, unknown>[] }) {
  return (
    <LineChart
      data={rows}
      xKey="hour"
      valueKey="hits"
      title="Line chart"
    />
  );
}
  • The rows are the rows prop: plain objects, one per datum, read through the accessor props.
  • Add the stylesheets to the styles array of angular.json.
  • State is a placeholder name: merge its fields into your own state class.
  • Fill State.rows with the rows, a list of dicts, from an event handler.

An agent connected to the server does this on its own: asked for a chart of hits per hour, it calls recommend_chart, generate_code and validate_props, and can draw the result with render_chart before it writes a file.

Files for agents

This site also publishes the catalog for agents that read files rather than call tools:

PathWhat it holds
/llms.txtThe llms.txt index: what silverpoint is and where to read more.
/llms-full.txtThe whole catalog as Markdown: every chart and component with its props per framework, the grounds, the palettes and the diagnostics.
/agent-catalog.jsonThe agent catalog itself, as @silverpoint/mcp@0.8.0 ships it.
Note
The catalog's Reflex names come from reflex-silverpoint-react 0.7.1, which wraps silverpoint 0.7.0; the builders and their props did not change in reflex-silverpoint-react 0.8.0.