MCP Server Usage
Memoreru MCP Server
The Memoreru MCP server lets you interact with Memoreru data directly from AI tools like Claude Desktop and Cursor.
What is MCP?
MCP (Model Context Protocol) is a standard protocol for AI assistants to access external service data. By configuring the Memoreru MCP server, you can read and write Memoreru content within AI conversations.
Requirements
The MCP server is available on Light plans and above. It's also available during the Feature Trial period. You need to generate an API key first.
Setup
1. Get an API Key
Generate an API key from Settings > Security under the "API Keys" card. The key is a string starting with mk_.
2. Configure the MCP Server
Add the following connection info to your AI tool's configuration file.
Connection info:
| Item | Value |
|---|---|
| URL | https://memoreru.com/api/mcp |
| Auth header | Authorization: Bearer mk_your_api_key |
Configuration file locations:
| Tool | Configuration file |
|---|---|
| Claude Desktop | claude_desktop_config.json |
| Cursor | Settings > MCP |
| Claude Code | .mcp.json (project root) |
| VS Code | settings.json |
Example (Claude Desktop / Cursor):
{
"mcpServers": {
"memoreru": {
"url": "https://memoreru.com/api/mcp",
"headers": {
"Authorization": "Bearer mk_your_api_key"
}
}
}
}Claude Code and VS Code require "type": "http". VS Code uses the "mcp" > "servers" hierarchy.
3. Verify
After configuration, restart your AI tool and try asking "Show me my Memoreru content list."
Available Tools
The MCP server provides 15 tools.
Content Operations (5 tools)
| Tool | Description |
|---|---|
create_contents | Create content (table, page, slide, folder, view, graph, dashboard) |
read_contents | Get content. Specify ID for detail, omit for list (with filtering and sorting) |
update_contents | Update title, description, scope. Add, update, or delete columns |
delete_contents | Delete content (irreversible) |
count_contents | Get content counts (by scope) |
Table Operations (10 tools)
| Tool | Description |
|---|---|
create_columns | Add columns to a table (single or bulk) |
read_columns | Get column definitions for a table |
update_columns | Update column definitions |
delete_columns | Delete specified columns from a table (column IDs required) |
create_rows | Create rows (1 to 100). Specify columns by display name |
read_rows | Get rows. Specify row ID for detail, omit for list (with filtering, sorting, search) |
update_rows | Update rows (1 to 100). Specify columns by display name |
delete_rows | Delete rows (1 or more) |
count_rows | Get the total number of rows in a table |
upsert_rows | Update if match found, create otherwise (1 to 100) |
Tool Details
create_contents
Create new content. For tables, column definitions can be set simultaneously. For views, graphs, and dashboards, settings can also be configured.
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Title |
content_type | string | Yes | Type (table, page, slide, folder, view, graph, dashboard) |
scope | string | - | Visibility (public, private). Default: private |
description | string | - | Description text |
columns | array | - | Column definitions (table only: name, type, required, options) |
settings | object | - | Type-specific settings (required for view, graph, dashboard) |
read_contents
Get content. Specify content_id for detail, omit for a list.
| Parameter | Type | Required | Description |
|---|---|---|---|
content_id | string | - | Content ID (specify for detail, omit for list) |
content_type | string | - | Filter by type (table, page, slide, graph, dashboard, folder) |
scope | string | - | Scope (public, private, all). Default: private |
search | string | - | Keyword search |
page | number | - | Page number |
limit | number | - | Items per page (default: 20) |
sort | string | - | Sort field (created_at, updated_at, title) |
order | string | - | Sort order (asc, desc) |
create_rows
Get table rows. Specify row_id for a single row detail, omit for a list.
| Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | Yes | Table content ID |
row_id | string | - | Row ID (specify for detail, omit for list) |
page | number | - | Page number |
limit | number | - | Items per page (default: 100, max: 500) |
q | string | - | Text search query |
filters | array | - | Filter conditions (AND logic) |
sorts | array | - | Sort configuration (ordered by priority) |
Filter format:
[
{
"columnId": "column_id",
"columnType": "checkbox",
"operator": "eq",
"value": false
}
]Supported operators: eq, neq, like, in, notIn, gt, gte, lt, lte, between, null, notNull, contains, notContains, startsWith, endsWith
Sort format:
[
{ "columnId": "column_id", "order": "asc" }
]read_rows
Get table rows. Specify row_id for a single row detail, omit for a list.
| Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | Yes | Table content ID |
row_id | string | - | Row ID (specify for detail, omit for list) |
page | number | - | Page number |
limit | number | - | Items per page (default: 100, max: 500) |
q | string | - | Text search query |
filters | array | - | Filter conditions (AND logic) |
sorts | array | - | Sort configuration (ordered by priority) |
Filter format:
[
{
"columnId": "column_id",
"columnType": "checkbox",
"operator": "eq",
"value": false
}
]Supported operators: eq, neq, like, in, notIn, gt, gte, lt, lte, between, null, notNull, contains, notContains, startsWith, endsWith
Sort format:
[
{ "columnId": "column_id", "order": "asc" }
]update_rows
Update table rows.
| Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | Yes | Table content ID |
updates | array | Yes | Array of updates, each with row_id and cells (column display name to value). Max 100 |
delete_rows
Delete rows from a table.
| Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | Yes | Table content ID |
row_ids | array | Yes | Array of row IDs to delete |
upsert_rows
Search for a row by column value. Update if found, create if not. Supports single and bulk operations.
| Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | Yes | Table content ID |
match_column | string | Yes | Column for matching (display name or ID) |
items | array | Yes | Array of upsert items, each with match_value and cells. Max 100 |
The response action field returns "created", "updated", or "unchanged".
Convenience Features
Column Display Name Support
When creating or updating rows, you can use column display names instead of IDs.
Specify like "Task Name": "Create shopping list"
Names are automatically converted to column IDs internally.
Supported Data Types
Tables support 30 column data types.
Basic: string, number, checkbox
Selection: select, radio, multi_select
Date/Time: date, datetime, time
Text: markdown, rich_text, url
Calculation: formula, rating, progress
Reference: rollup, location, image
Media: audio, video, file
Organization (paid): user_select, team_select, dept_select
Embedded (paid): sub_table, embed, qr_code
Special (paid): auto_number, drawing, button
Virtual: mirror
Usage Examples
Create a table:
"Create a 'Reading Log' table in Memoreru with columns: Title (string), Author (string), Date Read (date), Rating (rating)"
Check table data:
"Show me incomplete tasks from the task management table"
Add data:
"Add a new task to the task management table. Title: XX, Assignee: YY"
Bulk add data:
"Add these 3 books to the reading log table: ..."
Update data:
"Change the status of task ID 5 in the task table to complete"
Conditional update (upsert):
"In the task table, if there's a task named 'Weekly Report', update its deadline to next Friday. If not, create it"
Search content:
"Search Memoreru for content about 'meetings'"
Filtered listing:
"Show me only 'In Progress' items from the project table, sorted by priority"