Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NOTION_API_KEYYesYour Notion integration token (from https://www.notion.com/my-integrations)
NOTION_ALIAS_TASKSNoOptional alias mapping a database name to a Notion URL (e.g. https://www.notion.so/workspace/0123456789abcdef0123456789abcdef)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_databasesA

List Notion databases visible to this integration, as {title, url, alias}. alias is the name configured via NOTION_ALIAS_*, or null. Aliases that match no visible database are listed with a null title — they are still usable as a ref, but the integration may not have access yet.

get_database_schemaA

Property names and types for a database, as {title, url, properties}. Call this before filtering with query_database or writing with update_row. ref: an alias, a notion.so URL, an id, or an exact database title.

query_databaseA

Rows of a Notion database, as {title, url, properties}. ref: an alias, a notion.so URL, an id, or an exact database title. filter: property name -> value, combined with AND. Text properties match by substring, everything else by equality. Names must come from get_database_schema. sort: {"property": name, "direction": "asc" | "desc"}. limit: maximum rows to return.

get_pageA

A Notion page, as {title, url, properties, markdown}. The body is markdown; block types outside the supported subset appear as <!-- unsupported: TYPE -->. ref: an alias, a notion.so URL, an id, or an exact page title.

searchA

Search titles of pages and databases shared with this integration, as {title, url, kind}. Use it to find the URL to pass as a ref. Returns at most 25 matches; narrow the query if you expect more. kind: "page", "database", or omitted for both.

create_pageA

Create a page, either as a row in a database or as a subpage of another page, as {title, url, properties}. parent_ref: an alias, a notion.so URL, an id, or an exact title. title: the new page's title. For a database parent, set the title this way, not through properties. markdown: optional page body. Headings 1-3, paragraphs, bulleted and numbered lists, to-dos, fenced code, quotes, and dividers are supported; anything else fails the call before Notion is touched. properties: for a database parent only, property name -> value, excluding the title property. Call get_database_schema first for the valid names.

append_to_pageA

Append markdown to the end of a page, as {appended, url}. Existing content is never modified or removed. ref: an alias, a notion.so URL, an id, or an exact page title. markdown: same supported subset as create_page. Empty or whitespace-only markdown is rejected without contacting Notion.

update_rowB

Set properties on a database row, as {title, url, properties}. Only the named properties change; the page body is untouched. ref: an alias, a notion.so URL, an id, or an exact row title. properties: property name -> value. Call get_database_schema first for the valid names and, for select and status properties, the valid options.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 8 tools

Disambiguation4/5

The tools cleanly separate database operations (schema, query, row update) from page operations (get, create, append), with search covering discovery. The only mild overlap is between search and list_databases for finding databases, but the descriptions clarify their different scopes.

Naming Consistency4/5

Most names follow a consistent verb_noun snake_case pattern such as get_database_schema, query_database, append_to_page, and update_row. The sole exception is the bare verb 'search', which is a minor deviation rather than a systemic inconsistency.

Tool Count5/5

Eight tools is a well-scoped size for a Notion integration. Each tool covers a distinct core operation—listing, schema inspection, querying, page reading, creation, appending, and row updating—without redundant or unnecessary entries.

Completeness3/5

The set covers core read, create, append, and update workflows for pages and database rows, and includes schema discovery. However, there is no delete/archive operation and no way to edit a page body beyond appending, which are notable lifecycle gaps for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues