{"id":51381474,"url":"https://github.com/freispace/mcp-server-analytics","last_synced_at":"2026-07-03T17:00:47.993Z","repository":{"id":319882295,"uuid":"1079918087","full_name":"freispace/mcp-server-analytics","owner":"freispace","description":"freispace MCP Server","archived":false,"fork":false,"pushed_at":"2026-07-03T16:09:24.000Z","size":169,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-07-03T17:00:17.630Z","etag":null,"topics":["mcp","mcp-server","mcp-tools"],"latest_commit_sha":null,"homepage":"https://freispace.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freispace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-20T15:29:39.000Z","updated_at":"2026-07-03T16:05:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"48765d10-152e-4b4c-bd6a-b2bab880cf8d","html_url":"https://github.com/freispace/mcp-server-analytics","commit_stats":null,"previous_names":["freispace/mcp-server-analytics"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/freispace/mcp-server-analytics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freispace%2Fmcp-server-analytics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freispace%2Fmcp-server-analytics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freispace%2Fmcp-server-analytics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freispace%2Fmcp-server-analytics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freispace","download_url":"https://codeload.github.com/freispace/mcp-server-analytics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freispace%2Fmcp-server-analytics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35094077,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mcp","mcp-server","mcp-tools"],"created_at":"2026-07-03T17:00:20.951Z","updated_at":"2026-07-03T17:00:47.984Z","avatar_url":"https://github.com/freispace.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# freispace MCP Server\n\nA Model Context Protocol (MCP) server that provides analytics and insights for the [scheduling software freispace](https://freispace.com). This server enables AI assistants (e.g. Copilot, Gemini) to query data within freispace, such as project statistics and planning related information.\n\n## Overview\n\nThe freispace MCP Server connects any LLM with tooling capabilities to [freispace](https://freispace.com) to query analytical data.\n\nMedia teams using freispace can leverage the MCP server to make planning data available to the entire company using the company-wide AI (e.g. Copilot), without users having to be on freispace or even know about freispace, as well as help post-production teams make data-driven decisions while scheduling and planning.\n\nOur MCP Server always respects user permissions, ensuring that the LLM will only be able to access data on a per-user level, ensuring data safety.\n\nExample queries might be \"Who worked with Person X in the past\" or \"How many vacation days do I have left?\"\n\n## Prerequisites\n\n1. [freispace Flagship](https://freispace.com/pricing) account\n2. Valid MCP API key for freispace\n    - During `beta`, contact your freispace support team to obtain an MCP API key\n\n## Available Tools\n\nAll lookups are name-based. Partial names match; the first match is used.\n\n### `get_current_user`\n\nWho the calling user is: name, email and linked staff record. No arguments. Use it to resolve \"I\"/\"me\"/\"my\" to a staff name.\n\n\u003e \"Who am I logged in as?\"\n\n### `get_staffs`\n\nList staff members with name, title and staff number.\n\n- `status` (optional): `active` (default), `inactive`, `all`\n\n\u003e \"List all staff members\" · \"Who are the developers in the company?\"\n\n### `find_resources`\n\nSearch rooms/studios (suites), equipment/licenses (resources) and staff by name in one call, grouped by type.\n\n- `search` (optional): name or partial name; omit to list everything\n- `staff` (optional): `internal` or `external`\n- `site` (optional): only suites at matching sites\n- `status` (optional): `active` (default), `inactive`, `all`\n\n\u003e \"Find Sammy\" · \"List external freelancers\"\n\n### `get_availability`\n\nCheck when staff, suites or resources are free in a date window (default 14 days, max 92), considering bookings, public holidays and staff absences/work times.\n\n- `type` (required): `staff`, `resource`, `suite` or `site`\n- `search`, `staff`, `site`, `status` (optional): entity selection as in `find_resources`\n- `from`, `to`, `days`, `weeks` (optional): the date window\n- `duration` + `duration_unit` (optional): required free length (`minutes`, `hours` or `days`)\n\n\u003e \"Is a studio free next Tuesday for 3 hours?\" · \"Who has 2 fully-free days in the next two weeks?\"\n\n### `get_my_schedule`\n\nThe calling user's own bookings in a date window (default: next 7 days).\n\n- `from`, `to`, `days`, `weeks` (optional): the date window\n\n\u003e \"What's on my schedule this week?\"\n\n### `get_my_tasks`\n\nTasks assigned to the calling user, with due date, priority and reference.\n\n- `include_done` (optional): also include completed tasks\n\n\u003e \"What are my open tasks?\"\n\n### `get_open_tasks`\n\nAll open tasks of the team, with assignees.\n\n- `reference` (optional): `project`, `booking` or `user`\n\n\u003e \"Which project tasks are still open?\"\n\n### `get_staff_projects`\n\nList the projects a staff member is booked on, with date range and duration.\n\n- `staff_name` (required)\n\n\u003e \"What projects is Karl booked on?\"\n\n### `get_staff_collaborators`\n\nShow who a staff member has worked with, based on shared bookings.\n\n- `staff_name` (required)\n\n\u003e \"Who has Alexander worked with?\"\n\n### `get_staff_next_holiday`\n\nGet a staff member's next upcoming holiday (start, end, length, comment).\n\n- `staff_name` (optional; omit for the calling user)\n\n\u003e \"When is my next holiday?\" · \"When is Hendrikje on holiday?\"\n\n### `get_staff_holiday_quota`\n\nGet a staff member's holiday quota for one year: total, taken and remaining days.\n\n- `staff_name` (optional; omit for the calling user)\n- `year` (optional; defaults to the current year)\n\n\u003e \"How many vacation days do I have left?\"\n\n### `get_project_stats`\n\nBooking statistics for one project: past vs upcoming bookings with per-status breakdown.\n\n- `project_name` (required)\n\n\u003e \"Show booking stats for Project Alpha\"\n\n### `get_project_team`\n\nList the staff members who worked on a project, with their number of bookings on it.\n\n- `project_name` (required)\n\n\u003e \"Who worked on the website redesign?\"\n\n### `get_project_tasks`\n\nTask status of one project: all tasks on the project and its bookings, with an open/done/overdue summary.\n\n- `project_name` (required)\n\n\u003e \"Are there open tasks on the documentary project?\"\n\n### `get_invoices`\n\nList invoices with filters and per-currency totals; paginated. Status buckets: `draft`, `open`, `overdue`, `paid`, `partially-paid`, `canceled`, `locked`.\n\n- `search` (optional): matches number, order number, subject, recipient address\n- `status`, `number`, `date_min`/`date_max`, `due_date_min`/`due_date_max`, `sum_min`/`sum_max`, `outstanding_min`/`outstanding_max`, `sort`, `order`, `page`, `per_page` (optional)\n\n\u003e \"Which invoices are overdue?\" · \"Open invoices for Acme\"\n\n### `get_offers`\n\nList offers (quotes) with filters and per-currency net totals; paginated. Status buckets: `draft`, `locked`, `open`, `accepted`, `declined`.\n\n- `search`, `status`, `number`, `date_min`/`date_max`, `sum_min`/`sum_max`, `sort`, `order`, `page`, `per_page` (optional)\n\n\u003e \"Show declined offers from this year\"\n\n### `get_orders`\n\nList orders (jobs) with their connected offers and invoices inline; paginated.\n\n- `search` (optional): matches order number and name\n- `status`, `number`, `date_min`/`date_max`, `sort`, `order`, `page`, `per_page` (optional)\n\n\u003e \"What was quoted and billed on order 2026-014?\"\n\n### `search_docs`\n\nSearch the freispace documentation and return the most relevant excerpts.\n\n- `query` (required)\n- `limit` (optional): max excerpts, default 5\n\n\u003e \"How do I set up shift planning in freispace?\"\n\n## Error Handling\n\nErrors are returned to the calling model as short, actionable messages (e.g. `Not found (404): Staff member with name 'X' not found. Call get_staffs to list valid staff names.`). Diagnostics are logged to stderr; stdout carries only the MCP protocol.\n\n## ⚠️ Beta Notice\n\nOur freispace MCP server is currently in beta. All features are free during this period. We appreciate your feedback and patience as we continue to improve the platform.\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Support\n\nFor support and questions:\n- **Documentation**: [freispace documentation](https://docs.freispace.com)\n- **Issues**: [GitHub Issues](https://github.com/freispace/mcp-server-analytics/issues)\n- **Contact**: [freispace Support](https://freispace.com/support)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreispace%2Fmcp-server-analytics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreispace%2Fmcp-server-analytics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreispace%2Fmcp-server-analytics/lists"}