---
title: "YouSpot SDKs for JavaScript, Python, Go and Ruby"
description: "The official YouSpot SDKs: one client per language for the public reads, the sandbox MCP server and a member's own MCP tools. No dependencies in any of them."
canonical: https://youspot.com/docs/sdk
last-updated: 2026-09-04
---

# YouSpot SDKs for JavaScript, Python, Go and Ruby

> The official YouSpot SDKs: one client per language for the public reads, the sandbox MCP server and a member's own MCP tools. No dependencies in any of them.

Each SDK wraps the same surface: ask a question about YouSpot, search the docs, read any page as markdown, list the MCP tools, try them on the sandbox account and call them on a member's own account. Everything except a member's own tools works with no credential.

| Language | Install | Registry |
| --- | --- | --- |
| JavaScript and TypeScript | `npm install youspot` | https://www.npmjs.com/package/youspot |
| Python | `pip install youspot` | https://pypi.org/project/youspot/ |
| Go | `go get github.com/OnStartups/youspot-go` | https://pkg.go.dev/github.com/OnStartups/youspot-go |
| Ruby | `gem install youspot` | https://rubygems.org/gems/youspot |

## JavaScript

The npm package is also the YouSpot CLI (/docs/cli). Node 18 or newer.

```js
import { ask, tools, callTool } from "youspot";

const answer = await ask("how do I connect a client");
const available = await tools();
const summary = await callTool("get_connections_summary", {}, { token });
```

## Python

```python
import youspot

youspot.ask("what does youspot cost")
youspot.search_docs("mcp oauth")
youspot.call_sandbox_tool("search_graph_objects", {"query": "consulting"})
youspot.call_tool("search_graph_objects", {"query": "acme"})
```

## Go

Standard library only, Go 1.21 or newer. Every failure is a `*youspot.Error` with the HTTP status, a stable error code and the URL.

```go
c := youspot.New()

answer, err := c.Ask(ctx, "how do I connect an MCP client", 3)
tools, err := c.Tools(ctx)
demo, err := c.CallSandboxTool(ctx, "search_graph_objects", map[string]any{"query": "Meridian"})
summary, err := c.CallTool(ctx, "get_connections_summary", nil)
```

## Ruby

```ruby
require "youspot"

client = YouSpot::Client.new
client.ask("how do I connect an MCP client", limit: 3)
client.call_sandbox_tool("search_graph_objects", { query: "Meridian" })
client.call_tool("get_connections_summary")
```

## Credentials

A member's own tools need a token that belongs to that person. Mint one in your MCP settings and set `YOUSPOT_TOKEN`, or run the OAuth 2.1 flow in /docs/authentication. The sandbox server at `https://youspot.com/mcp/sandbox` runs the read tools on a demo account with no signup. `YOUSPOT_BASE_URL` overrides the origin in every SDK.

## Source

The JavaScript SDK and the CLI live in https://github.com/OnStartups/youspot-agent-tools. The Go client is github.com/OnStartups/youspot-go. Each SDK follows https://youspot.com/openapi.json and the MCP server card.
