npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-riksa

v0.5.0

Published

Local-first MCP server and agent evaluation workbench

Readme

MCP Riksa

npm

MCP Riksa is a local-first workbench for testing MCP servers and agents. It connects to stdio or Streamable HTTP MCP servers, drives OpenAI-compatible and Anthropic-compatible model endpoints, stores sanitized run history in SQLite, and runs the same YAML suites from the browser or CLI so you can commit a suite once and run it identically in CI.

It binds to 127.0.0.1 by default and has no login, cloud sync, telemetry, external fonts, or CDN assets.

Install

npm install -g mcp-riksa
mcp-riksa serve --config ./mcp-riksa.config.yaml

Or run it without installing:

npx mcp-riksa serve --config ./mcp-riksa.config.yaml

Open http://127.0.0.1:4317. By default, runtime state is stored in .mcp-riksa relative to current directory. Set MCP_RIKSA_DATA_HOME or pass --data-dir for a personal shared workbench; see Headless CLI.

Repository workspace

Commit configuration and portable suites while keeping runtime state ignored:

project/
├── mcp-riksa.config.yaml
├── suites/
│   └── smoke.yaml
└── .mcp-riksa/       # ignored
mcp-riksa serve --workspace .

Repository mode loads mcp-riksa.config.yaml as authoritative, read-only configuration, reads and writes suites in suites/, and stores history plus encrypted vault data in .mcp-riksa/. Authenticate OAuth servers and execute suites through the browser. OAuth tokens remain process-memory only.

Use explicit paths for a custom layout:

mcp-riksa serve --workspace . --config ./mcp-riksa.config.yaml --suites-dir ./suites --data-dir ./.mcp-riksa

Without --workspace, --config retains legacy seed semantics. See Headless CLI.

Try it against the bundled sample

git clone https://github.com/irfansofyana/mcp-riksa.git
cd mcp-riksa
npm install
npm run dev -- --config examples/mcp-riksa.config.yaml

The example config registers a deterministic stdio MCP server and a provider alias. To run an agent case against it, start the bundled fake provider in a second terminal:

export MCP_RIKSA_PROVIDER_API_KEY=local-test-only
npx tsx scripts/fake-provider.ts --port 4000

The API key stays in the process environment — the config only ever stores { source: env, name: MCP_RIKSA_PROVIDER_API_KEY }, never the value itself.

What it does

Connect and invoke a real MCP server. The bundled sample server runs as a real MCP process over stdio — no shell, no remote service. The workbench discovers its identity, capabilities, and tools, then invokes them with generated forms.

Connected stdio MCP server with a completed add tool call

Store credentials without touching environment variables. The Secrets workspace accepts write-only credentials into an encrypted local vault or session memory — the browser and API only ever see opaque references, never raw values.

Write-only encrypted and session secret management

Compose portable test suites visually. Add tool-call expectations, assertions, and cost/duration budgets through a case composer, hand-author the underlying YAML, or generate a reviewable draft for specific scenarios, selected tools, or every safe tool. Draft generation reads live MCP metadata but never invokes tools, saves files, or starts runs.

Inspect a completed evaluation. The browser and CLI share the same suite runner, so a run's trace — provider turns, MCP tool calls, latency, tokens, estimated cost, assertions — looks identical whether it ran interactively or headless.

Completed MCP agent evaluation run

Documentation

License

MIT