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

@rymi/mcp

v0.6.2

Published

Rymi MCP server — manage AI voice agents via Model Context Protocol

Readme

@rymi/mcp

MCP server for Rymi — lets any MCP-capable AI client (Claude Desktop, Claude Code, Cursor, or a Rymi voice agent) create and manage AI voice agents without writing HTTP code.

Two ways to run it

Hosted (no install)

Point your client at https://mcp.rymi.live and pass your API key as a Bearer token.

{
  "mcpServers": {
    "rymi": {
      "type": "http",
      "url": "https://mcp.rymi.live/",
      "headers": {
        "Authorization": "Bearer rymi_your_secret_key"
      }
    }
  }
}

Local (npm)

Run the server on your own machine with npx — it speaks stdio by default and talks to the Rymi REST API directly. The key is read from the RYMI_API_KEY environment variable.

{
  "mcpServers": {
    "rymi": {
      "command": "npx",
      "args": ["-y", "@rymi/mcp"],
      "env": {
        "RYMI_API_KEY": "rymi_your_secret_key"
      }
    }
  }
}

Options: RYMI_MCP_READONLY=1 hides every mutating tool (including create_call, batch_call, publish_agent); --transport http + RYMI_MCP_PORT serve over HTTP instead of stdio.

Tools

Agents: list_agents · get_agent · create_agent · update_agent · delete_agent · clone_agent · apply_agent_changes · generate_agent_draft · enrich_company · validate_agent_publish · preview_stack

Discovery: list_llm_options · list_voices

Knowledge & history: list_knowledge_sources · add_knowledge_source · delete_knowledge_source · list_agent_changes · undo_agent_change

Insight: get_usage_summary (minutes-based) · list_agent_templates · run_evals · list_eval_runs · get_eval_run

Calls (read-only): list_calls · list_active_calls · get_call · get_call_summary · get_call_transcript · get_call_recording · get_call_queue_stats · reprocess_call · list_calls_for_agent

Numbers: list_numbers · register_number · attach_number · remove_number

Telephony (read-only): telephony_status · list_telephony_numbers

Keys (read-only): list_publishable_keys

Gated tools (create_call, batch_call place real, billable outbound calls; publish_agent flips an agent live to end users):

  • Hosted mcp.rymi.live — disabled by default; enable per API key from the dashboard.
  • Local @rymi/mcp — enabled by default; pass RYMI_MCP_READONLY=1 (or use a read-only key) to hide all mutating tools.

Carrier connect/disconnect and publishable-key creation/revocation are intentionally not exposed over MCP (they enter credentials and change standing configuration) — do those from the dashboard.

Configuring an agent

create_agent and update_agent accept the full agent configuration surface. Always call list_llm_options first to get valid model and voice IDs.

  • Multi-language / bilingual — set supported_languages to every BCP-47 tag the agent should handle, e.g. ["hi-IN","en-US"]. The primary language is merged in automatically. The server resolves the per-language model stack for you; some languages may require a higher agent_role.
  • Model stack — pin llm_provider + llm_model, and optionally stt_provider/stt_model and tts_provider/tts_model. Realtime LLMs (and Deepgram TTS) carry their own voice, so leave voice empty for those.
  • Fallbacksllm_fallback_*, stt_fallback_*, tts_fallback_* set a secondary provider/model per channel. Pass null to clear.
  • Self-hosted endpoints (Enterprise) — custom_llm_url, custom_voice_url (+ custom_voice_mode), custom_transcriber_url. https:// or wss:// only; null clears.
  • agent_role — the cost/capability tier (operatorconcierge). concierge unlocks realtime models. The chosen LLM model must fit the role's cost ceiling.
  • persona — note that callerPersonas entries are objects of shape { type, approach, detectedWhen }, not plain strings.

provider_config is server-derived (recomputed from role + supported languages on every write) and is not accepted as an input.

Documentation

docs.rymi.live/api/mcp