MCP Server Atlassian Confluence vs MCP FactorialHR

A side-by-side look at the MCP Server Atlassian Confluence and MCP FactorialHR MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

MCP Server Atlassian Confluence logoMCP Server Atlassian ConfluenceWorkplace & Productivity · Local subprocess (stdio)Atlassian Confluence Cloud integration. Enables AI systems to interact with Confluence spaces, pages, and content with automatic ADF to Markdown conversion.64GoodAuth: api key requiredMCP FactorialHR logoMCP FactorialHRWorkplace & Productivity · Local subprocess (stdio)Full CRUD MCP server for FactorialHR: employees, teams, time off, projects, ATS, payroll.61GoodAuth: not declared

Verdict: choose MCP Server Atlassian Confluence for workplace & productivity work as a local process; choose MCP FactorialHR for workplace & productivity as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

MCP Server Atlassian Confluence logoChoose MCP Server Atlassian Confluence when

  • You need dedicated capabilities in the Workplace & Productivity domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: ATLASSIAN_SITE_NAME, ATLASSIAN_USER_EMAIL, ATLASSIAN_API_TOKEN.
  • You want tools like conf_get, conf_post, conf_put.
Explore MCP Server Atlassian Confluence

MCP FactorialHR logoChoose MCP FactorialHR when

  • You need dedicated capabilities in the Workplace & Productivity domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like factorial_discover, factorial_employees, factorial_teams.
Explore MCP FactorialHR

Feature & specification comparison

Rows where the two servers differ are marked.

SpecMCP Server Atlassian Confluence logoMCP Server Atlassian ConfluenceMCP FactorialHR logoMCP FactorialHR
CategoryWorkplace & ProductivityWorkplace & Productivity
Quality signal64/100 · Good61/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthAPI key requiredNot declared
PricingBYOK (pay the provider)Not declared
Required env varsATLASSIAN_SITE_NAMEATLASSIAN_USER_EMAILATLASSIAN_API_TOKENNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars623
Directory activity 4 views 0 installs 0 upvotes 5 views 0 installs 0 upvotes
Tools514

Tools & capabilities

MCP Server Atlassian Confluence tools 5

  • conf_getRead any Confluence data. Returns TOON format by default (30-60% fewer tokens than JSON). **IMPORTANT - Cost Optimization:** - ALWAYS use `jq` param to filter response fields. Unfiltered responses are very expensive! - Use `limit` query param to restrict result count (e.g., `limit: "5"`) - If unsure about available fields, first fetch ONE item with `limit: "1"` and NO jq filter to explore the schema, then use jq in subsequent calls **Schema Discovery Pattern:** 1. First call: `path: "/wiki/api/v2/spaces", queryParams: {"limit": "1"}` (no jq) - explore available fields 2. Then use: `jq: "results[*].{id: id, key: key, name: name}"` - extract only what you need **Output format:** TOON (default, token-efficient) or JSON (`outputFormat: "json"`) **Common paths:** - `/wiki/api/v2/spaces` - list spaces - `/wiki/api/v2/pages` - list pages (use `space-id` query param) - `/wiki/api/v2/pages/{id}` - get page details - `/wiki/api/v2/pages/{id}/body` - get page body (`body-format`: storage, atlas_doc_format, view) - `/wiki/rest/api/search` - search content (`cql` query param) **JQ examples:** `results[*].id`, `results[0]`, `results[*].{id: id, title: title}` API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/
  • conf_postCreate Confluence resources. Returns TOON format by default (token-efficient). **IMPORTANT - Cost Optimization:** - Use `jq` param to extract only needed fields from response (e.g., `jq: "{id: id, title: title}"`) - Unfiltered responses include all metadata and are expensive! **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Create page:** `/wiki/api/v2/pages` body: `{"spaceId": "123456", "status": "current", "title": "Page Title", "parentId": "789", "body": {"representation": "storage", "value": "<p>Content</p>"}}` 2. **Create blog post:** `/wiki/api/v2/blogposts` body: `{"spaceId": "123456", "status": "current", "title": "Blog Title", "body": {"representation": "storage", "value": "<p>Content</p>"}}` 3. **Add label:** `/wiki/api/v2/pages/{id}/labels` - body: `{"name": "label-name"}` 4. **Add comment:** `/wiki/api/v2/pages/{id}/footer-comments` API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/
  • conf_putReplace Confluence resources (full update). Returns TOON format by default. **IMPORTANT - Cost Optimization:** - Use `jq` param to extract only needed fields from response - Example: `jq: "{id: id, version: version.number}"` **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Update page:** `/wiki/api/v2/pages/{id}` body: `{"id": "123", "status": "current", "title": "Updated Title", "spaceId": "456", "body": {"representation": "storage", "value": "<p>Content</p>"}, "version": {"number": 2}}` Note: version.number must be incremented 2. **Update blog post:** `/wiki/api/v2/blogposts/{id}` Note: PUT replaces entire resource. Version number must be incremented. API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/
  • conf_patchPartially update Confluence resources. Returns TOON format by default. **IMPORTANT - Cost Optimization:** Use `jq` param to filter response fields. **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** 1. **Update space:** `/wiki/api/v2/spaces/{id}` body: `{"name": "New Name", "description": {"plain": {"value": "Desc", "representation": "plain"}}}` 2. **Update comment:** `/wiki/api/v2/footer-comments/{id}` Note: Confluence v2 API primarily uses PUT for updates. API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/
  • conf_deleteDelete Confluence resources. Returns TOON format by default. **Output format:** TOON (default) or JSON (`outputFormat: "json"`) **Common operations:** - `/wiki/api/v2/pages/{id}` - Delete page - `/wiki/api/v2/blogposts/{id}` - Delete blog post - `/wiki/api/v2/pages/{id}/labels/{label-id}` - Remove label - `/wiki/api/v2/footer-comments/{id}` - Delete comment - `/wiki/api/v2/attachments/{id}` - Delete attachment Note: Most DELETE endpoints return 204 No Content on success. API reference: https://developer.atlassian.com/cloud/confluence/rest/v2/

MCP FactorialHR tools 14

  • factorial_discoverList available FactorialHR tool categories and their actions. Use this first to understand what operations are available.
  • factorial_employeesManage employees: list, get, search, create, update, terminate
  • factorial_teamsManage teams: list, get, create, update, delete
  • factorial_locationsManage locations: list, get, create, update, delete
  • factorial_contractsContract and salary data: list, get with employee, filter by job role/level
  • factorial_time_offManage leave requests: list, get, create, update, cancel, approve, reject, view types and allowances
  • factorial_attendanceAttendance (registro horario): list/get/create/update/delete shift records, clock_in, clock_out and status for live clocking, gaps and audit to find days that do not match the contract, log_range / log_days to enter many days at once, and list_edit_requests / create_edit_request for days whose timesheet has already been signed off. Without date and time, clock_in and clock_out record the current moment; given both, they record the declared moment instead, for someone who forgot to clock and knows when they started or stopped. A declared moment in the future is refused before anything is sent, and clock_out with a declared moment is refused if nothing is open or if it would close a shift before it started. Bulk writes, writes for another employee and edit requests preview first: the call returns a plan and a confirmation_token, and nothing is written until the identical call is repeated with that token within 15 minutes. audit, gaps and every preview begin with a Data read line saying how much of the window was actually read; audit reports a day Factorial returned nothing for as no_contract_data, and log_range never writes such a day (log_days, which takes explicit dates, will). Times are HH:MM in company local time, applied by Factorial in the company zone; the server never converts. Declared time versus entry time: a shift carries two independent sets of timestamps. The declared working time is date, clock_in, clock_out and, for a shift that crosses midnight, reference_date; these are inputs, and they are what the attendance sheet and the hour totals show. Separately, Factorial sets created_at, updated_at, in_source and out_source on the server to record when and how the record was entered; they are read-only through this API and no action here can set or change them. For example, a record written on 2026-09-07 for 2024-01-02 09:59 comes back with date: 2024-01-02, clock_in: 09:59, created_at of 2026-09-07 and in_source: api; that is the correct and only correct outcome. Both facts are true at once: a backfilled record shows the real working day on the attendance sheet while Factorial's activity log shows it was entered later through the API.
  • factorial_documentsDocument management: list folders, list/get documents, search, download (OAuth2 required for downloads)
  • factorial_job_catalogView job roles and levels
  • factorial_projectsProject management: projects, tasks, workers, time records. Full CRUD operations.
  • factorial_trainingTraining programs, sessions, and enrollments. Full CRUD operations.
  • factorial_work_areasManage work areas within locations
  • +2 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

MCP Server Atlassian Confluence

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "aashari-mcp-server-atlassian-confluence": {
      "command": "npx",
      "args": [
        "-y",
        "@aashari/mcp-server-atlassian-confluence"
      ],
      "env": {
        "ATLASSIAN_SITE_NAME": "YOUR_ATLASSIAN_SITE_NAME_HERE",
        "ATLASSIAN_USER_EMAIL": "YOUR_ATLASSIAN_USER_EMAIL_HERE",
        "ATLASSIAN_API_TOKEN": "YOUR_ATLASSIAN_API_TOKEN_HERE"
      }
    }
  }
}

MCP FactorialHR

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mcp-factorialhr": {
      "command": "npx",
      "args": [
        "-y",
        "@t4dhg/mcp-factorial"
      ]
    }
  }
}

Frequently asked questions

MCP Server Atlassian Confluence is categorized under Workplace & Productivity and uses a local stdio subprocess. MCP FactorialHR belongs to Workplace & Productivity and uses a local stdio subprocess. Pick MCP Server Atlassian Confluence for workplace & productivity work and MCP FactorialHR for workplace & productivity.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

MCP Server Atlassian Confluence is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. MCP FactorialHR has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add aashari-mcp-server-atlassian-confluence and mcp-factorialhr as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, MCP Server Atlassian Confluence has a quality signal of 64/100 (Good) with 4 views, 0 installs and 62 GitHub stars. MCP FactorialHR has 61/100 (Good) with 5 views, 0 installs and 3 GitHub stars.