Skip to content

Eea#1

Open
tiberiuichim wants to merge 83 commits intomainfrom
eea
Open

Eea#1
tiberiuichim wants to merge 83 commits intomainfrom
eea

Conversation

@tiberiuichim
Copy link
Member

No description provided.

This commit introduces several improvements to the Plone MCP server:

- **Refactor Vitest mocking for `@modelcontextprotocol/sdk/server/mcp.js`:**
  - Implemented `vi.hoisted` to correctly mock `McpServer` and `ResourceTemplate` classes, resolving hoisting-related `ReferenceError` issues in unit tests.
  - This ensures that mock functions are properly initialized and accessible within test blocks, making the unit tests more robust and reliable.

- **Fix `ENABLED_TOOLS` environment variable handling:**
  - Corrected a bug in `src/index.ts` where setting `ENABLED_TOOLS` to an empty string (`""`) would incorrectly register all tools instead of only `plone_configure`.
  - The logic now correctly interprets an empty `ENABLED_TOOLS` string as a directive to enable only the `plone_configure` tool, aligning with expected behavior.

- **Update test setup:**
  - Removed `jest.setTimeout` from `tests/setup.ts` as it's not relevant for Vitest.
  - Ensured `vi.clearAllMocks()` is used for proper mock state management in `beforeEach` hooks.
  - Added `"types": ["vitest/globals"]` to `tsconfig.json` for better TypeScript integration with Vitest's global APIs.

These changes enhance the stability and correctness of the MCP server's tool registration mechanism and improve the reliability of its unit tests.
…ocumentation

Updated specs/todo.md to accurately reflect Plone REST API endpoint protocols for navigation, version history, and search by location. Removed unsupported parameters and clarified implementation details based on local plone.restapi documentation.

Removed 'expand_all_items' from PloneGetNavigationTreeSchema in src/handlers.ts as it is not a supported parameter for the Plone REST API navigation endpoint and was not being used.
tiberiuichim and others added 30 commits November 19, 2025 13:35
This commit introduces a new script, 'scripts/fix-type-imports.js', which automatically
converts TypeScript type import syntax from '{ type SomeType }' to 'type { SomeType }'.
This change aligns with recommended TypeScript practices and improves code consistency.

The script has been applied to all relevant source files in the 'src/' directory.
Updated to the latest xmcp framework version which introduces changes to:
- CLI commands: 'xmcp-dev' → 'dev', 'build-xmcp' → 'build'
- Build output structure and transport handling
- Development server startup patterns

Build artifacts (.xmcp/) changes:
- Removed adapter files (adapter-express.js, adapter-nextjs.js) - no longer using Express/Next.js integration mode
- Removed stdio.js - now using HTTP transport only
- Updated http.js with latest framework code
- Cleaned up associated LICENSE.txt files

XMCP.md documentation updates:
- Updated CLI commands to match new xmcp syntax
- Added project structure overview
- Added Scripts section explaining available commands
- Added Connecting to Your Server section with Cursor/Claude configs
- Added Troubleshooting section with xmcp.config.ts examples
- Updated tool/prompt examples with async functions and shortcut returns

The project now runs as a standalone HTTP MCP server without adapter dependencies.
- Rename specs/ folder to artifacts/
- Move XMCP.md to artifacts/ folder
- Remove xmcp-llms-full.txt file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant