# notes-world > notes-world is a personal productivity web and Android app: one place for a person's notes, ideas, tasks, reminders, projects, tags and checklists. It is built to be used by a person and their AI agents together, through an MCP server. Facts an agent needs: - **Accounts are for people.** A person signs up at https://notes-world.christopherrehm.de/login (free). Agents cannot create accounts. - **An agent always acts for one person**, with that person's explicit approval, and only sees that person's data. Every change an agent makes is recorded in the person's Activity log under the agent's name, and the person can disconnect the agent at any time (Account → Connected AI agents). - **Agents cannot** see passwords, change login details, delete accounts, create API keys, or approve other agents. ## Connect an AI agent (MCP) - MCP endpoint: `https://notes-world.christopherrehm.de/mcp` (Streamable HTTP) - Option 1 — OAuth 2.1 (recommended for Claude, Claude Code and other MCP clients that support it): just add the URL. The client discovers the authorization server from the `401` response (RFC 9728 → `/.well-known/oauth-protected-resource`), registers itself (RFC 7591, `/oauth/register`), and opens a browser where the person logs in and clicks **Allow**. PKCE (S256) is required; clients are public (no client secret). Access tokens last 1 hour; refresh tokens rotate and last 30 days. - Option 2 — API key (for agents without OAuth support): the person creates a named key in Account → API Keys and gives it to the agent, which sends `Authorization: Bearer nw_…` on every request. Name the key after the agent so the Activity log shows who did what. Example config for an MCP client with a static key: ```json { "mcpServers": { "notes-world": { "type": "http", "url": "https://notes-world.christopherrehm.de/mcp", "headers": { "Authorization": "Bearer nw_your_key_here" } } } } ``` Once connected, read the server's `instructions` and the `get_started` prompt before acting; `plan_a_project` covers breaking a goal into tasks. Call `start_work_session` with a short reason at the start of a run so the person's Activity log groups your changes. ## Pages - [Home](https://notes-world.christopherrehm.de/): what the app does - [Docs](https://notes-world.christopherrehm.de/docs): user guide, including API keys and the MCP server - [FAQ](https://notes-world.christopherrehm.de/faq) - [Guides](https://notes-world.christopherrehm.de/guides) - [Privacy policy](https://notes-world.christopherrehm.de/privacy): how your data is handled (GDPR) - [Terms of service](https://notes-world.christopherrehm.de/terms)