Files
Orchestrator/bahn/db-planet-mcp-server/docs/tool-overview.md
ankn a5f8fb49ab Migrate all repos into monorepo context folders
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.
2026-06-30 20:39:52 +02:00

8.6 KiB

DB Planet MCP Server — Tool Overview

29 tools across 9 components. Each tool maps to one or more Haiilo API endpoints.


1. Search (3 tools)

Tool API Endpoint What it does
Search_FullText GET /api/search?term= Keyword search across all content. Returns metadata (id, type, excerpt).
Search_QuickEntity GET /api/quick-entity-search?term= Fast entity lookup by name (users, workspaces, pages, events).
Search_Grouped GET /api/search/grouped?term= Same as FullText but results grouped by content type.

Example user queries:

  • "Find articles about sustainability on DB Planet"
  • "Search for GenAI content"
  • "Is there a workspace called Innovation Hub?"
  • "Find the Town Hall event"

Limitations:

  • Keyword matching only, not semantic search. Short queries (1-2 words) work best.
  • LLMs sometimes wrap queries in quotes — we strip them automatically.

2. Workspace Management (5 tools)

Tool API Endpoint What it does
Workspace_List GET /api/workspaces List workspaces. memberOnly=true filters for user's own workspaces (client-side pagination + filter).
Workspace_Get GET /api/workspaces/{id} Get workspace details by UUID or slug.
Workspace_GetMembers GET /api/workspaces/{id}/members Get member list for a workspace.
Workspace_Join PUT /api/workspaces/{id}/users/join Join a workspace.
Workspace_Create POST /api/workspaces Create a new workspace. Auto-sets current user as admin.

Example user queries:

  • "What workspaces am I a member of?" → Workspace_List(memberOnly=true)
  • "Show me the Innovation Hub workspace" → Search_QuickEntityWorkspace_Get
  • "Who are the members of the BahnGPT workspace?" → Workspace_GetMembers
  • "Join the Digital Transformation workspace" → Search_QuickEntityWorkspace_Join
  • "Create a workspace called Q1 Planning" → Workspace_Create

Limitations:

  • API has no server-side membership filter — memberOnly paginates all workspaces client-side.
  • API defaults to 20 results per page.

3. News (1 tool)

Tool API Endpoint What it does
News_GetFeed GET /web/blog/newsfeed Get news articles from subscribed pages. Filters: published/scheduled/drafts, date range.

Example user queries:

  • "What are the latest news on DB Planet?"
  • "Show me articles from January 2026"
  • "Are there any draft articles?"

Limitations:

  • ⚠️ Returns 404 on staging — endpoint doesn't exist in staging environment.
  • Only returns articles from pages the authenticated user is subscribed to.

4. People (4 tools)

Tool API Endpoint What it does
People_GetMe GET /api/users/me Get current user's profile.
People_Get GET /api/users/{id} Get a user's profile by UUID.
People_List GET /api/users List all users with pagination.
People_Search GET /api/users/chooser/search?term=&types=user Search users by name only.
People_GetManaged GET /api/users/{id}/managed Get all users that a given user manages (direct reports).

Example user queries:

  • "Show me my DB Planet profile" → People_GetMe
  • "Find Alexandra on DB Planet" → People_Search
  • "How many users are on DB Planet?" → People_List
  • "Who does Alexandra manage?" → People_Search + People_GetManaged

Limitations:

  • People_Search only matches by name — cannot search by department, job title, or expertise.
  • properties.department exists on profiles but is not queryable and often null on staging.
  • No "find people in department X" capability via the API.

5. Events (4 tools)

Tool API Endpoint What it does
Event_Get GET /api/events/{id} Get event details by UUID.
Event_GetMemberships GET /api/events/{id}/memberships Get attendee list. Only works if showParticipants is enabled.
Event_UpdateStatus PUT /api/events/{id}/status Update attendance: ATTENDING, NOT_ATTENDING, TENTATIVE.
Event_Create POST /api/events Create a new event. Auto-sets current user as host/admin.

Example user queries:

  • "Show me details about the Town Hall event" → Search_QuickEntityEvent_Get
  • "Who is attending the Innovation Workshop?" → Event_GetMemberships
  • "Register me for the team building event" → Event_UpdateStatus(status=ATTENDING)
  • "Decline the Friday meeting" → Event_UpdateStatus(status=NOT_ATTENDING)
  • "Create a team event on May 15th at Frankfurt HQ" → Event_Create

Limitations:

  • No "list all events" endpoint — must use Search_QuickEntity to find events by name.
  • Event_GetMemberships returns 404 if the event has showParticipants=false.

6. Social (4 tools)

Tool API Endpoint What it does
Social_GetComments GET /api/comments?targetId=&targetType= Get comments on an entity.
Social_PostComment POST /api/comments Post a comment. Auto-sets current user as author.
Social_GetLikes GET /api/like-targets/{type}/{id}/likes Get like count and list.
Social_ToggleLike POST /api/like-targets/{type}/{id}/likes/{userId} Like or unlike content.

Example user queries:

  • "Show me comments on the latest blog post" → Search_FullTextSocial_GetComments
  • "How many likes does the sustainability article have?" → Social_GetLikes
  • "Like the welcome post" → People_GetMe + Search_FullTextSocial_ToggleLike
  • "Comment 'Great work!' on the team update" → Search_FullTextSocial_PostComment

Limitations:

  • Valid targetTypes: blog-article, timeline-item, wiki-article only. Events are NOT supported.
  • Requires content UUID — must search first to find it.
  • ToggleLike requires the user's UUID (from People_GetMe).

7. Notifications (3 tools)

Tool API Endpoint What it does
Notification_List GET /api/notifications List notifications. Filter by category: ACTIVITY, DISCUSSION.
Notification_GetStatus GET /api/notifications/status Get unseen notification count.
Notification_MarkSeen PUT /api/notifications/action/mark-seen Mark notifications as seen. Optional category filter.

Example user queries:

  • "Do I have unread notifications?" → Notification_GetStatus
  • "Show me my activity notifications" → Notification_List(category=ACTIVITY)
  • "Show me discussion notifications" → Notification_List(category=DISCUSSION)
  • "Mark all notifications as read" → Notification_MarkSeen

Limitations:

  • Category parameter may be required (API returns error without it on some environments).

8. Pages (4 tools)

Tool API Endpoint What it does
Page_List GET /api/pages List all pages.
Page_Get GET /api/pages/{id} Get page details by UUID or slug.
Page_GetMembers GET /api/pages/{id}/members Get page members/admins.
Page_Create POST /api/pages Create a new page. Auto-sets current user as admin.

Example user queries:

  • "What pages are available on DB Planet?" → Page_List
  • "Show me the HR Department page" → Search_QuickEntityPage_Get
  • "Who manages the Innovation page?" → Page_GetMembers
  • "Create a page for the sustainability initiative" → Page_Create

Limitations:

  • ⚠️ Page_Create returns 404 on staging — endpoint doesn't exist in staging environment.

9. Content (1 tool)

Tool API Endpoint What it does
Content_GetFull Various widget endpoints Fetch full rendered content by ID and type. Supports: blog-article, wiki-article, page, workspace, app, timeline-item.

Example user queries:

  • "Show me the full text of that article" → Content_GetFull (after search)
  • "Read the wiki page about onboarding" → Search_FullTextContent_GetFull

Limitations:

  • Requires appId for blog and wiki articles (available from Search_FullText results).
  • Uses internal widget layout endpoints — may break if Haiilo changes layout naming.

Summary

Component Tools Status
Search 3 Working
Workspaces 5 Working
News 1 ⚠️ 404 on staging
People 5 Working (name search only)
Events 4 Working
Social 4 Working
Notifications 3 Working
Pages 4 Working (Create 404 on staging)
Content 1 Working
Total 30