Skip to main content
Glama

ouicu for JavaScript: SDK and MCP server

ouicu gives the site running on your computer a public https link, like https://studiolund.ouicu.app, so a client or teammate can open it on any phone or computer. This repository holds ouicu's two npm packages:

Package

What it does

@ouicu/mcp

An MCP server: Claude Code, Cursor, Codex and other coding agents share your dev server or upload a build and hand you the link.

@ouicu/sdk

ouicu from Node: share a port, upload a built site, list shares and sites, see who opened them.

MCP server

npx -y @ouicu/mcp setup claude-code

The same works for cursor, codex, vscode, windsurf and claude-desktop. Then ask your agent for a link in your own words, for example "build the gallery page and send me a ouicu link". The agent shares the dev server, or uploads the build, and hands back the address.

It is listed in the official MCP Registry as com.ouicu/mcp. Docs: ouicu.com/docs/mcp. More in packages/mcp.

Related MCP server: OpenCode MCP Gateway

SDK

npm install @ouicu/sdk
import { Ouicu } from "@ouicu/sdk";

const ouicu = new Ouicu({ apiKey: process.env.OUICU_API_KEY });
const share = await ouicu.share({ port: 3000, name: "studiolund" });
console.log(share.url); // https://studiolund.ouicu.app

Node 20 or later, no other dependencies. Docs: ouicu.com/docs/sdk. More in packages/sdk.

What ouicu is for

Showing work in progress to people who aren't developers: a reserved name keeps the same link for each client, a password or a list of invited people keeps it private, you get an email when someone opens it, and the last version stays up while your laptop sleeps. It passes web pages (HTTP and WebSockets), not TCP, video or downloads. Plans and limits: ouicu.com/docs/plans.

The ouicu command line tool itself is installed from ouicu.com; its releases are at kroqdotdev/ouicu-cli.

About this repository

These packages are developed in ouicu's main repository and copied here on every change, so this history is a series of snapshots. Issues are welcome here; for a change, open an issue or a pull request and it will be made upstream. Questions: hello@ouicu.com.

pnpm install
pnpm build
pnpm test

MIT licensed. See LICENSE.

Available Tools

1 tool
ouicu_loginLog in to ouicuA

Log in to ouicu, once per computer, before the other ouicu tools appear. It opens ouicu's approval page in the person's browser when it can and waits for them to approve. When it answers with a code and an address instead, show both to the person, ask them to open the address while logged in to ouicu.com and approve the code, then call this again to finish. The key is saved where the ouicu CLI keeps it, so ouicu in a terminal is logged in too.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoSeconds to wait for the approval before answering (60).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The only annotation is openWorldHint=true, so the description carries most of the burden and does well: it discloses that a browser page is opened when possible, that the call blocks waiting for human approval, and that the credential is persisted where the ouicu CLI keeps it (a side effect extending beyond this server). It does not describe timeout/failure behavior or what happens if the person never approves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the purpose and scope before the procedural detail, and every sentence carries actionable information. Slightly long, but the branching instructions justify the length rather than padding it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly takes on the job of describing the two possible responses (immediate approval vs. a code plus address) and the follow-up action for each. Remaining gaps are error/timeout handling and what the person sees if approval is denied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'wait' parameter is fully documented in the schema (seconds to wait, default 60, max 600). The description mentions waiting but never ties it to the parameter or explains the trade-off of a longer wait, so it adds nothing beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Log in to ouicu') and immediately scopes it ('once per computer, before the other ouicu tools appear'). With no siblings, the scope statement plus the description of both possible outcomes leaves no ambiguity about what the tool accomplishes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear when-to-use context: call once per computer and before the other ouicu tools appear. It also explains the conditional branch (browser approval vs. code+address fallback) and explicitly says to call it again to finish in the fallback case. No exclusions or alternatives are named, but none exist given there are no sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.2
    • First observedouicu_login

TDQS

A3.9/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so there is nothing to confuse it with. Its purpose (authenticate to ouicu before other tools become available) is unmistakable.

Naming Consistency5/5

The single tool follows the server-prefixed snake_case convention (ouicu_login), which is readable and predictable. No competing conventions exist to create inconsistency.

Tool Count2/5

A server exposing exactly one tool is far too thin for the apparent scope, even allowing for the fact that it is a login gate for other tools that are not described here. The surface gives an agent almost nothing to work with.

Completeness1/5

Only an authentication step is exposed; no domain operations (read/write/etc.) are available, leaving a severe gap. The description hints other ouicu tools exist after login, but they are not part of the evaluated surface.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Give AI agents access to your localhost dev server. Zero-config tunnel that works with Claude Code, OpenClaw, and any MCP-compatible agent. No interstitial pages, no account required.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Exposes local OpenCode instances as remote MCP servers for Claude and ChatGPT, enabling terminal access, session management, and interactive human-in-the-loop workflows. It simplifies deployment for local machines using Cloudflare Tunnels to provide secure public connectivity and OAuth support.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to access files and terminal of a local computer via a public HTTPS endpoint, secured with GitHub OAuth.
    -