18 Commits

Author SHA1 Message Date
Kenneth Sinder
7e254df95e feat: Add retrieve database endpoint to OpenAPI spec (#195) 2026-01-31 09:19:00 -08:00
채필재
f4a87aa6dc feat: Add option to disable authentication (#105) 2026-01-30 17:20:43 -08:00
Daniel Ostrow
4e43332dde fix: preserve const values and allow any property in page schemas (#173)
* fix: preserve const values in OpenAPI to JSON Schema conversion

The parser was dropping const values when converting OpenAPI schemas to
JSON Schema, breaking oneOf discriminators. This is critical for schemas
like parentRequest where const values distinguish between page_id,
database_id, and workspace parent types.

- Add const value handling in convertOpenApiSchemaToJsonSchema
- Add test case verifying const preservation for oneOf discriminators

* fix: allow any property in page create/update schemas

The properties schema in patch-page and post-page operations was
incorrectly restricting allowed properties to only "title" with
additionalProperties: false. This prevented updating or creating
pages with database-specific properties like "Status", "Priority", etc.

Changes:
- Remove restrictive property definitions from patch-page properties schema
- Remove restrictive property definitions from post-page properties schema
- Set additionalProperties: true to allow any property name

This fix addresses the root cause of issues #153 and #164 where
notion-update-page and notion-create-pages fail schema validation
for database page properties.

The Notion API accepts any property defined in the parent database
schema - the previous restriction was blocking valid requests.

Tested against live Notion API v2025-09-03:
- Successfully updated "Related Features" (rich_text) property
- Custom database properties work correctly

* fix: resolve TypeScript errors in const handling

- Add type assertion for const value in parser.ts
- Fix test spec type to avoid OpenAPIV3 type restrictions on const

---------

Co-authored-by: Daniel Ostrow <daniel@neuralintellect.com>
2026-01-30 17:11:56 -08:00
Kenneth Sinder
433f0d3bbd update OpenAPI version; clearer README notice; bump TS SDK version (#168) 2025-12-24 12:55:37 -08:00
Zencoder
f469fc3c76 feat: add streamable HTTP transport and NOTION_TOKEN environment variable support (#75)
* feat: add streamable HTTP transport and NOTION_TOKEN environment variable support

Major enhancements:

🌐 **Streamable HTTP Transport (SSE)**
- Add support for Server-Sent Events transport alongside existing stdio
- Implement bearer token authentication for HTTP endpoints
- Add command-line options: --transport, --port, --auth-token
- Support auto-generated or custom authentication tokens
- Include health check endpoint and proper session management
- Enable web-based applications to use MCP over HTTP

🔑 **NOTION_TOKEN Environment Variable**
- Add simplified configuration using NOTION_TOKEN env var
- Automatically set Authorization header and Notion-Version
- Maintain backward compatibility with OPENAPI_MCP_HEADERS
- Prioritize OPENAPI_MCP_HEADERS when both are present
- Update documentation with recommended NOTION_TOKEN usage

📚 **Documentation & Configuration**
- Add comprehensive transport options section to README
- Update npm, Docker, and Smithery configuration examples
- Include authentication and usage examples for both transports
- Add command-line help and usage instructions

🔧 **Dependencies & Testing**
- Upgrade @modelcontextprotocol/sdk to v1.13.3
- Extend test coverage for new NOTION_TOKEN functionality
- Update Smithery configuration to support both token methods

This update makes the MCP server more accessible and flexible while maintaining full backward compatibility.

* fix: update transport terminology from SSE to Streamable HTTP

- Replace all "SSE" references with "Streamable HTTP" terminology
- Update transport option from --transport sse to --transport http
- Update documentation to use correct MCP transport naming
- Fix docker-compose to docker compose command
- Address PR #75 review comments about deprecated SSE terminology

Addresses: https://github.com/makenotion/notion-mcp-server/pull/75

---------

Co-authored-by: Alex Shershebnev <alexs@forgood.ai>
2025-07-27 11:34:49 -07:00
Quan Nguyen
0181647361 Remove maxLength limit on string type (#50) 2025-05-19 08:57:24 -07:00
matt-nt
91a468c5de Update notion-openapi.json (#43)
Added `type: string` to all `properties` that have `enum` present to satisfy Google's schema validation
2025-05-08 09:46:22 -07:00
Quan Nguyen
af869dd521 Fix append block children schema
- fixed #23
2025-04-16 09:34:56 -07:00
Quan Nguyen
66d0e6602d Fix database query types (#14)
* Fix database query types

Fixes #4

* Use integer for page_size
2025-04-10 22:15:57 -07:00
Quan Nguyen
19d68b9c5c Support page updates 2025-04-09 08:20:40 -07:00
Quan Nguyen
9433cf3873 Support update database 2025-04-08 19:37:37 -07:00
Quan Nguyen
b2b8153e70 Support setting database title on create 2025-04-08 08:40:42 -07:00
Quan Nguyen
1ea120f1f8 Support creating basic database 2025-04-07 22:01:05 -07:00
Quan Nguyen
b95c82b352 Refactor start server function 2025-04-06 21:50:11 -07:00
Quan Nguyen
281870e826 Remove log 2025-04-03 11:32:44 -07:00
Quan Nguyen
653f8f47e4 Support custom base url 2025-04-03 10:47:39 -07:00
Quan Nguyen
59b3bf6e66 Remove js-yaml 2025-04-03 10:21:41 -07:00
Quan Nguyen
d97de15bc2 Add openapi-mcp-server v1
- v2 took a complete different approach which is incompatible with existing development
2025-04-03 09:24:00 -07:00