
Product
PHP and Composer Support Is Now in Beta
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.
mcparmory-notion
Advanced tools
Base URL: https://api.notion.com
| Category | Productivity |
| Tools | 41 |
| Auth | OAuth2 |
OAUTH2_CLIENT_ID=YOUR_OAUTH2_CLIENT_ID \
OAUTH2_CLIENT_SECRET=YOUR_OAUTH2_CLIENT_SECRET \
OAUTH2_SCOPES=YOUR_OAUTH2_SCOPES \
uvx mcparmory-notion
pip install mcparmory-notion
OAUTH2_CLIENT_ID=YOUR_OAUTH2_CLIENT_ID \
OAUTH2_CLIENT_SECRET=YOUR_OAUTH2_CLIENT_SECRET \
OAUTH2_SCOPES=YOUR_OAUTH2_SCOPES \
mcparmory-notion
Add to your MCP client config (e.g. Claude Desktop, Cursor, Codex):
{
"mcpServers": {
"notion": {
"command": "uvx",
"args": ["mcparmory-notion"],
"env": {
"OAUTH2_CLIENT_ID": "YOUR_OAUTH2_CLIENT_ID",
"OAUTH2_CLIENT_SECRET": "YOUR_OAUTH2_CLIENT_SECRET",
"OAUTH2_SCOPES": "YOUR_OAUTH2_SCOPES"
}
}
}
}
Set OAUTH2_SCOPES to a comma-separated list of scopes your app requires (e.g. OAUTH2_SCOPES=scope_a,scope_b). Some OAuth2 providers may also use additional scope env vars such as OAUTH2_USER_SCOPES; open .env to see all generated scope buckets and descriptions.
Set the following environment variables (via MCP client env config, shell export, or .env file):
OAUTH2_CLIENT_ID — OAuth2 client IDOAUTH2_CLIENT_SECRET — OAuth2 client secretOAUTH2_SCOPES — OAuth2 scopes (comma-separated)Do not commit credentials to version control.
Add this redirect URI to your OAuth provider's allowed redirect URIs:
http://localhost:9400/callback
If you change OAUTH2_CALLBACK_PORT in .env, update the redirect URI to match.
On first use, a browser window opens automatically for OAuth authorization. Grant access when prompted — tokens are saved to tokens/oauth2_tokens.json and refreshed automatically.
Re-authorization: Delete tokens/oauth2_tokens.json and restart the server.
First, configure your credentials in .env (see Credentials above).
pip install -r requirements.txt
python server.py
Edit .mcp.json and replace <SERVER_DIR> with the absolute path to this directory, then add to your MCP client configuration.
Example (if server is at /home/user/mcp-servers/notion):
{
"mcpServers": {
"notion": {
"command": "python",
"args": ["/home/user/mcp-servers/notion/server.py"]
}
}
}
docker run -p 8000:8000 -p 9400:9400 -v ./tokens:/app/tokens \
-e OAUTH2_CLIENT_ID=YOUR_OAUTH2_CLIENT_ID \
-e OAUTH2_CLIENT_SECRET=YOUR_OAUTH2_CLIENT_SECRET \
-e OAUTH2_SCOPES=YOUR_OAUTH2_SCOPES \
ghcr.io/mcparmory/notion:latest
First, configure your credentials in .env (see Credentials above).
docker build -t notion .
mkdir -p tokens
docker run -p 8000:8000 -p 9400:9400 -v ./tokens:/app/tokens --env-file .env notion
Before running, make sure ports 8000, 9400 are free. If you changed the callback port in .env, update the -p port mapping and your OAuth provider's redirect URI to match.
On first run, the server prints an authorization URL — check docker logs for the URL. Open it in your browser to complete OAuth consent. Tokens are persisted to ./tokens/ via the volume mount so re-authorization is not needed on subsequent runs.
For Docker, use SSE transport in your MCP client config:
{
"mcpServers": {
"notion": {
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
}
.env - Credentials and server configuration.mcp.json - MCP client config templateDockerfile - Container buildLICENSE - MIT license for this generated coderequirements.txt - Python dependenciesREADME.md - This fileserver.py - MCP server entry point_auth.py - Authentication handlers_models.py - Request/response models_validators.py - Input validationNote: Files starting with . are hidden by default on macOS/Linux. Use ls -a in terminal or enable "Show hidden files" in your file manager to see .env and .mcp.json.
Generated by MCP Blacksmith · Quickstart docs · Report a bug
FAQs
Create, update, and manage pages, databases, and workspace users
We found that mcparmory-notion demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.

Research
/Security News
Three compromised Rust crates pulled in a malicious dependency that downloaded and executed cross-platform malware during Cargo builds.