/developers
Write it down once. Reach it from anywhere.
Capacities is a calm home for what you know. A person or a book gets its own page, linked to everything around it. That shape is what lets your scripts and your AI work with your notes as well as you do.
Free to start. The API and AI connectors come with Pro.
Most notes get stuck where you wrote them.
You take a good note in a meeting. A week later you need it in a chat with Claude, or in the editor where you’re writing the code. So you go looking, copy it over, and lose the links on the way.
Capacities works the other way round. Every note is a thing with a type and connections, and your whole space is open to you through a public API and an MCP server. Your notes stay yours. They just go where the work is.
01 · API
Let things come in on their own.
Some notes shouldn’t need you to type them. An article you starred, a deploy that went out, a message from a customer. A small script hands them to Capacities, and they land as the right kind of thing, next to today.
The TypeScript SDK is @capacities/api. Make a token in your space settings and you’re ready.
import { CapacitiesClient } from '@capacities/api'
const capacities = new CapacitiesClient({
apiToken: process.env.CAPACITIES_API_TOKEN,
})
type Starred = { url: string; highlight: string }
// Your RSS reader calls this when you star something
export async function onStar({ url, highlight }: Starred) {
await capacities.object.createFromUrl({
url,
markdown: `> ${highlight}`,
})
await capacities.blocks.dailyNote.append({
markdown: `Saved ${url} for later`,
})
}02 · MCP
Ask your notes from the chat you already use.
Connect Capacities to Claude or ChatGPT once, then just ask. The assistant searches your space, reads the notes that matter, and answers from them. It can write back too, so the reminder you mention ends up in your tasks instead of buried in a chat.
This one needs no code at all.
Set up an AI Chat Connector ↗03 · MCP
Keep project notes next to your code.
The thinking behind a project lives in Capacities. The code lives in your editor. Add the MCP server to Cursor and the agent reads the project page before it starts, then leaves a short note when it’s done. Next week, you both remember why.
The server is https://api.capacities.io/mcp. Any client that speaks MCP over HTTP can connect. MCP guide ↗
04 · API
Build the view you wish existed.
Sometimes you want your notes in a shape no app ships with. A reading list for the year, or a page that sums up last week for a client. Your types and links come through the API the way you set them up, so a short script is usually enough.
const { structures } = await capacities.space.structures()
const book = structures.find((s) => s.title === 'Book')
if (!book) throw new Error('This space has no Book type')
const { results } = await capacities.objects.structure({
structureId: book.id,
})
const lines = results.map((item) => `- ${item.title}`)
await capacities.object.markdown.create({
structureId: 'RootPage',
markdown: ['# Reading list', ...lines].join('\n'),
})Start with one note.
Capacities is free to start. Write a few notes, link them, and see how it feels. When you want your scripts and your AI in there with you, Pro adds the API and the connectors.