update-database-entryLABSCO SUMMARY
Property structures are passed through, not simplified.
Row writes take the Notion API's actual property shapes, which means a select value, a date range or rich text lands correctly instead of arriving as a flattened string. The cost is that the caller has to match the property type — the README says so and shows the structures. The permission model is the other thing to get right on day one: an integration only sees pages that have been explicitly shared with it, so "no results" usually means access, not absence.
What it is
An MCP server for a Notion workspace covering both pages and databases. Beyond reading, it creates databases with custom property schemas and manipulates rows using the Notion API's own property structures, so select options, dates and rich text behave as Notion expects.
What you get
- Search across the entire workspace, and retrieval of a specific page's content by id
- Page creation and updates, including changing the title as well as adding content
- Database creation with a custom property schema — title, select with coloured options, date and the rest
- Database queries with filters and sorting, expressed in the Notion API's own filter and sort structures
- Row-level writes: add a new row with its properties, or update the properties of an existing entry —
create-database-row,update-database-entry
Requirements
A Notion integration and its API key, created in the Notion Developers portal — and the integration must be granted access to the pages you want it to touch, which is the step people miss. The key can go in a .env file or be passed on the command line as --notion-api-key; the README recommends the latter. Node.js: npm install, npm run build, then point the client at dist/index.js. The package is notion-mcp-server (1.0.0 in package.json).
Setup effort
Build from source
USE CASES
Finding something in a workspace you half remember
Search across the whole workspace, then open the page that matches and read its content.
Filing notes as a page without switching apps
Create the page with a title and content, or append to an existing one by id.
Setting up a tracker
Create a database with the property schema you want — status and priority as coloured selects, a due date — then start adding rows.
Moving a task along
Update the entry's properties so status, priority and due date change together in one call.
Pulling a filtered view into the conversation
Query the database for completed items or sort by due date, and work from the result.
2 tools
Listed in project docs. Your client may show a different list.
create-database-rowBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation. The README's Features list names eight capabilities — Search Notion, Get Page, Create Page, Update Page, Create Database, Query Database, Update Database Entry and Create Database Row — but it prints tool names for only two of them: update-database-entry and create-database-row.
Requires
- Node.js and npm, to build and run it
- A Notion API key from an integration created in the Notion Developers portal, with the integration given access to the pages it should reach
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/SAhmadUmass/notion-mcp-server
cd notion-mcp-server
npm install
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"notion": {
"command": "node",
"args": [
"<YOUR_PROJECT_DIRECTORY>/dist/index.js",
"--notion-api-key=<YOUR_NOTION_API_KEY>"
]
}
}
}