Skip to content

Quickstart

Five steps from an empty account to an agent that reads your project without being told anything twice.

  1. 1. Create a project

    A project is the unit of context. Give it a goal and a short description — the AI features and the context pack both lean on them.

  2. 2. Put something in the tree

    Add a handful of notes: the goal, the constraints you keep forgetting, the decisions you already made. Nesting is the point — put reasoning under the decision it explains.

  3. 3. Issue a scoped token

    Tokens start with nbv_ and are shown once. Give the token only the scopes the client needs, and pin it to a single project unless it genuinely needs all of them.

  4. 4. Check the connection

    Before wiring up a client, prove the token works. This lists the tools the server offers you.

    MCP handshake
    curl -s https://nibvine.com/mcp \
      -H "Authorization: Bearer $NIBVINE_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
  5. 5. Connect the client

    Point your AI client at the remote MCP endpoint. The connect page generates the exact config for Claude Code, Cursor, Codex and VS Code; here is the shape of it.

    mcp.json
    {
      "mcpServers": {
        "nibvine": {
          "type": "http",
          "url": "https://nibvine.com/mcp",
          "headers": { "Authorization": "Bearer ${NIBVINE_TOKEN}" }
        }
      }
    }

Prefer plain HTTP?

The same token works against the REST API. A context pack is usually the one call an agent needs.

Fetch a context pack
curl -s "https://nibvine.com/api/projects/1/context-pack/?profile=default" \
  -H "Authorization: Bearer $NIBVINE_TOKEN"

A standard DRF token works too, sent as Authorization: Token <key>. Scoped nbv_ tokens are the better choice for anything you hand to an agent.

Letting an agent write

Writes are deliberate. The tool creates a preview, you look at it, and a second call commits it.

  1. 1. Preview

    Call a preview_ tool. Nothing changes yet; you get an action id and a description of the change.

  2. 2. Review

    The preview expires on its own if nobody acts on it, so an abandoned plan never lands later by accident.

  3. 3. Commit

    commit_write_action applies it in one transaction and records it in the project history as an external change.