Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)
Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
12 KiB
12 KiB
DB Planet MCP Server — Manual Test Plan
Based on the 8 component specs and actual tool implementations.
Test against staging: https://dbahn-staging.haiilo.cloud/
Component 1: Information Discovery & Search
Tools: Search_FullText, Search_QuickEntity, Search_Grouped
| # | Use Case | Tool | Test Input | Expected Result | Status | Notes |
|---|---|---|---|---|---|---|
| 1.1 | Global full-text search | Search_FullText | query: "sustainability" |
Returns result list with id, title, type, excerpt, modified | ||
| 1.2 | Full-text search with pagination | Search_FullText | query: "test", page: 0, pageSize: 3 |
Returns max 3 results | ||
| 1.3 | Full-text search — no results | Search_FullText | query: "xyznonexistent999" |
Returns "No results found" message | ||
| 1.3a | Full-text search — quoted query (LLM edge case) | Search_FullText | query: '"sustainability initiative"' |
Should strip quotes and return results | Fixed: quote stripping added | |
| 1.4 | Quick entity search (users, pages, etc.) | Search_QuickEntity | query: "Alexandra" |
Returns matching entities | ||
| 1.5 | Quick entity search — no results | Search_QuickEntity | query: "xyznonexistent999" |
Returns "No entities found" message | ||
| 1.6 | Grouped search by content type | Search_Grouped | query: "GenAI" |
Returns results grouped by type | ||
| 1.7 | Search for events | Search_QuickEntity | query: "Town Hall" |
Returns event entities | ||
| 1.8 | Search for workspaces | Search_QuickEntity | query: "Innovation" |
Returns workspace entities |
Component 2: Workspace Management & Collaboration
Tools: Workspace_List, Workspace_Get, Workspace_GetMembers, Workspace_Join, Workspace_Create
| # | Use Case | Tool | Test Input | Expected Result | Status | Notes |
|---|---|---|---|---|---|---|
| 2.1 | List all workspaces | Workspace_List | (no params) | Returns list of workspaces | ||
| 2.2 | Get workspace details by ID | Workspace_Get | id: "<UUID from 2.1>" |
Returns workspace name, description, visibility | ||
| 2.3 | Get workspace members | Workspace_GetMembers | id: "<UUID from 2.1>" |
Returns member list with roles | ||
| 2.4 | Join a workspace | Workspace_Join | id: "<UUID of a workspace you're not in>" |
Returns success message | ||
| 2.5 | Create a new workspace | Workspace_Create | name: "Manual Test Workspace", visibility: "PUBLIC" |
Returns created workspace JSON | ||
| 2.6 | Create workspace with PRIVATE visibility | Workspace_Create | name: "Private Test WS", visibility: "PRIVATE" |
Returns created workspace with visibility=PRIVATE | ||
| 2.7 | Get non-existent workspace | Workspace_Get | id: "00000000-0000-0000-0000-000000000000" |
Returns 404 error |
Component 3: News & Content Consumption
Tools: News_GetFeed
⚠️ Known Issue: GET /web/blog/newsfeed returns 404 on staging
| # | Use Case | Tool | Test Input | Expected Result | Status | Notes |
|---|---|---|---|---|---|---|
| 3.1 | Get news feed (default) | News_GetFeed | (no params) | Returns articles OR 404 (staging limitation) | ⚠️ | Endpoint missing on staging |
| 3.2 | Get only published articles | News_GetFeed | includePublished: true |
Returns published articles OR 404 | ⚠️ | |
| 3.3 | Get scheduled articles | News_GetFeed | includeScheduled: true |
Returns scheduled articles OR 404 | ⚠️ | |
| 3.4 | Get drafts | News_GetFeed | includeDrafts: true |
Returns draft articles OR 404 | ⚠️ | |
| 3.5 | Filter by date | News_GetFeed | limitDate: "2025-01" |
Returns articles from Jan 2025 OR 404 | ⚠️ |
Component 4: People Directory & User Profiles
Tools: People_GetMe, People_Get, People_List, People_Search
| # | Use Case | Tool | Test Input | Expected Result | Status | Notes |
|---|---|---|---|---|---|---|
| 4.1 | Get current user profile | People_GetMe | (no params) | Returns authenticated user's profile | ||
| 4.2 | List users with pagination | People_List | page: 0, pageSize: 5 |
Returns max 5 users | ||
| 4.3 | List users — default | People_List | (no params) | Returns user list | ||
| 4.4 | Search people by name | People_Search | query: "Alexandra" |
Returns matching users | ||
| 4.5 | Search people — no results | People_Search | query: "xyznonexistent999" |
Returns "No people found" message | ||
| 4.6 | Get user by ID | People_Get | id: "<UUID from 4.1 or 4.4>" |
Returns user profile details | ||
| 4.7 | Get non-existent user | People_Get | id: "00000000-0000-0000-0000-000000000000" |
Returns 404 error |
Component 5: Event Discovery & Participation
Tools: Event_Get, Event_GetMemberships, Event_UpdateStatus, Event_Create
| # | Use Case | Tool | Test Input | Expected Result | Status | Notes |
|---|---|---|---|---|---|---|
| 5.1 | Get event details | Event_Get | id: "<UUID from Search_QuickEntity>" |
Returns event name, dates, location, description | ||
| 5.2 | Get event participants | Event_GetMemberships | id: "<UUID with showParticipants=true>" |
Returns participant list | ||
| 5.3 | Get participants — hidden | Event_GetMemberships | id: "<UUID with showParticipants=false>" |
Returns 404 | ||
| 5.4 | Accept event | Event_UpdateStatus | id: "<UUID>", status: "ATTENDING" |
Returns success message | ||
| 5.5 | Decline event | Event_UpdateStatus | id: "<UUID>", status: "NOT_ATTENDING" |
Returns success message | ||
| 5.6 | Tentative event | Event_UpdateStatus | id: "<UUID>", status: "TENTATIVE" |
Returns success message | ||
| 5.7 | Create event | Event_Create | title: "Test Event", startDate: "2026-05-01T10:00:00Z", endDate: "2026-05-01T12:00:00Z" |
Returns created event JSON | ||
| 5.8 | Create event with location | Event_Create | title: "Office Event", startDate: "2026-05-01T10:00:00Z", endDate: "2026-05-01T12:00:00Z", location: "Frankfurt HQ" |
Returns event with place=Frankfurt HQ | ||
| 5.9 | Get non-existent event | Event_Get | id: "00000000-0000-0000-0000-000000000000" |
Returns 404 error |
Component 6: Social Engagement & Interaction
Tools: Social_GetComments, Social_PostComment, Social_GetLikes, Social_ToggleLike
| # | Use Case | Tool | Test Input | Expected Result | Status | Notes |
|---|---|---|---|---|---|---|
| 6.1 | Get comments on blog article | Social_GetComments | targetId: "<blog-article UUID>", targetType: "blog-article" |
Returns comment list | ||
| 6.2 | Get comments on timeline item | Social_GetComments | targetId: "<timeline-item UUID>", targetType: "timeline-item" |
Returns comment list | ||
| 6.3 | Get comments on wiki article | Social_GetComments | targetId: "<wiki-article UUID>", targetType: "wiki-article" |
Returns comment list | ||
| 6.4 | Get comments — unsupported type | Social_GetComments | targetId: "<UUID>", targetType: "event" |
Returns error or empty (API rejects unsupported types) | ||
| 6.5 | Post a comment | Social_PostComment | targetId: "<blog-article UUID>", targetType: "blog-article", body: "Test comment from MCP" |
Returns success message | ||
| 6.6 | Get likes on blog article | Social_GetLikes | targetType: "blog-article", targetId: "<blog-article UUID>" |
Returns like count and list | ||
| 6.7 | Toggle like | Social_ToggleLike | targetType: "blog-article", targetId: "<blog-article UUID>", userId: "<your user UUID>" |
Returns "Like toggled successfully" | ||
| 6.8 | Toggle like again (unlike) | Social_ToggleLike | (same as 6.7) | Toggles back — verify with Social_GetLikes | ||
| 6.9 | Get likes — unsupported type | Social_GetLikes | targetType: "event", targetId: "<UUID>" |
Returns error |
Component 7: Notification Management
Tools: Notification_List, Notification_GetStatus, Notification_MarkSeen
| # | Use Case | Tool | Test Input | Expected Result | Status | Notes |
|---|---|---|---|---|---|---|
| 7.1 | Get notification status | Notification_GetStatus | (no params) | Returns unseen notification count | ||
| 7.2 | List ACTIVITY notifications | Notification_List | category: "ACTIVITY" |
Returns activity notifications | ||
| 7.3 | List DISCUSSION notifications | Notification_List | category: "DISCUSSION" |
Returns discussion notifications | ||
| 7.4 | List notifications with pagination | Notification_List | category: "ACTIVITY", page: 0, pageSize: 3 |
Returns max 3 notifications | ||
| 7.5 | List notifications — no category | Notification_List | (no params) | Returns notifications or error if category required | ||
| 7.6 | Mark ACTIVITY as seen | Notification_MarkSeen | category: "ACTIVITY" |
Returns success message | ||
| 7.7 | Mark all as seen | Notification_MarkSeen | (no params) | Returns success message | ||
| 7.8 | Verify mark seen worked | Notification_GetStatus | (no params) | Unseen count should be 0 or lower than 7.1 |
Component 8: Page Management
Tools: Page_List, Page_Get, Page_GetMembers, Page_Create
⚠️ Known Issue: POST /api/pages returns 404 on staging
| # | Use Case | Tool | Test Input | Expected Result | Status | Notes |
|---|---|---|---|---|---|---|
| 8.1 | List all pages | Page_List | (no params) | Returns list of pages | ||
| 8.2 | Get page details by ID | Page_Get | id: "<UUID from 8.1>" |
Returns page name, visibility, details | ||
| 8.3 | Get page by slug | Page_Get | id: "<slug from 8.1>" |
Returns page details | ||
| 8.4 | Get page members | Page_GetMembers | id: "<UUID from 8.1>" |
Returns member/admin list | ||
| 8.5 | Create a page | Page_Create | title: "Manual Test Page" |
Returns created page OR 404 (staging) | ⚠️ | Endpoint missing on staging |
| 8.6 | Create page with options | Page_Create | title: "DE Test Page", visibility: "PUBLIC", defaultLanguage: "DE" |
Returns page OR 404 | ⚠️ | |
| 8.7 | Get non-existent page | Page_Get | id: "00000000-0000-0000-0000-000000000000" |
Returns 404 error |
Bonus: Content_GetFull (Cross-cutting)
| # | Use Case | Tool | Test Input | Expected Result | Status | Notes |
|---|---|---|---|---|---|---|
| 9.1 | Get full blog article content | Content_GetFull | contentType: "blog-article", contentId: "<UUID>", appId: "<appId from Search_FullText>" |
Returns rendered article text | ||
| 9.2 | Get full wiki article content | Content_GetFull | contentType: "wiki-article", contentId: "<UUID>", appId: "<appId>" |
Returns rendered wiki text | ||
| 9.3 | Get page content | Content_GetFull | contentType: "page", contentId: "<UUID>" |
Returns page content | ||
| 9.4 | Get workspace content | Content_GetFull | contentType: "workspace", contentId: "<UUID>" |
Returns workspace content | ||
| 9.5 | Unsupported content type | Content_GetFull | contentType: "unknown-type", contentId: "abc" |
Returns "Unsupported content type" error |
Test Workflow Tips
- Start with People_GetMe (4.1) to get your user UUID — needed for Social_ToggleLike and verifying create operations
- Use Search_FullText (1.1) with
pageSize: 2to get real content IDs, appIds, and slugs for other tests - Use Search_QuickEntity (1.4) to find event UUIDs for Component 5 tests
- For Social tests (Component 6), first get a blog-article UUID from search results
- Components 3 (News) and 8.5-8.6 (Page_Create) are known to 404 on staging — document but don't block on them
Summary Template
After testing, fill in the Status column with:
- ✅ = Pass
- ❌ = Fail (add reason in Notes)
- ⚠️ = Known limitation / staging issue