io.github.theluckystrike/office-suite
MCPB · OFFICE-SUITE.MCPB · SCANNED SEP 21
Whole freelancer office in one MCP server: time tracking, price watching, spreadsheets, invoicing.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security22
- Malware scan not yet available for this package.Unverified
- Known CVEs were checked across the 190 of 190 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- 88 of 190 dependencies flagged as unhealthy (2 deprecated). View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 4 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability81
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 24098 tokens (~139/item across 173 items; 158 tools + 15 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 85% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 12 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "entry_delete" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 159 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
mcpb · office-suite.mcpb
Download bundleEvery change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 18 Sept 26 46
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed mcpb/https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/office-suite.mcpb@0.22.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
Background: How many MCP packages publish verified provenance →
Dependencies 190 packages
| Packages resolved | 190 |
|---|---|
| Deprecated | 2 |
| Stale | 88 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
timer_start Start timer ~202
Start a stopwatch for work on a project and return the start time. Only one runs at a time: a new one stops and logs the previous, naming it. rate is an hourly rate in MAJOR units for this timer only.
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | – | Currency of the rate: EUR, USD, GBP, PLN, or words like 'euros'. Defaults to the project currency, else USD. |
| project | string | yes | Project or client name, e.g. 'acme-website'. A partial name that matches exactly one existing project is used as that project. |
| rate | – | – | Hourly rate for this timer only; a number (90) or the words the user said, e.g. rate '90 euros an hour'. Defaults to the project rate set by project_set_rate. |
| tags | array | – | Free-form tags, e.g. ['dev','meeting'] |
| task | string | – | What you are working on right now |
No output schema declared.
No examples provided.
timer_status Timer status ~49
Report the running timer and today's total hours. Today is the local calendar day, so a timer started at 23:30 yesterday contributes only the minutes since midnight. No arguments, and it writes nothing.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
timer_stop Stop timer ~60
Stop the running timer and log it as one entry. Returns the duration, the money at the rate in force and the new entry id. With no timer running it says so and writes nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | – | Optional note stored with the entry |
No output schema declared.
No examples provided.
variables_list List the variables a selection needs ~61
List every {{variable}} the clauses you name use, and which clause uses each, so the facts are gathered before contract_assemble leaves bracketed prompts. Reads only; a title matching several is refused.
| Name | Type | Req | Description |
|---|---|---|---|
| clause_ids | array | yes | Clause ids or titles |
No output schema declared.
No examples provided.
watch_add Watch a price ~124
Call this tool for any product URL; fetching the page with a generic web tool returns raw HTML without the price. Starts tracking it: first observation stored, optional target, re-read by watch_refresh. Free: 3 watches.
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | – | ISO code such as USD or EUR, if the page does not say |
| label | string | – | Short name for this item |
| target_price | string|number | – | Report this watch in alerts_pending when the price is at or below this (positive number) |
| url | string | yes | Product page URL |
No output schema declared.
No examples provided.
watch_list List watches ~52
Show every tracked item with current and previous price, min, max, change %, target, confidence and last check, plus free-tier use. Prices are as of the last watch_refresh, never live; nothing is fetched.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
watch_refresh Refresh prices ~140
The only tool that re-reads prices: it re-fetches one watch or all, appends observations and returns current, previous, min, max, change % and target hits. A page that fails is listed; then read alerts_pending.
| Name | Type | Req | Description |
|---|---|---|---|
| all | boolean | – | Refresh every watch in one call (Pro; on free, refresh one id at a time) |
| id | string | – | Watch id or URL to re-fetch. Omit and set all=true to refresh everything. Nothing runs in the background, so call this whenever the user asks about prices, drops or alerts - typically once at the sta… |
No output schema declared.
No examples provided.
watch_remove Remove a watch ~80
Call this tool to stop tracking one item, by watch id or URL. Its whole price history is deleted and cannot be recovered, so re-adding starts empty. A key matching no watch is refused.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | Watch id from watch_list |
| url | string | – | URL of the watch, if you do not have the id |
No output schema declared.
No examples provided.
What is the io.github.theluckystrike/office-suite MCP server?
io.github.theluckystrike/office-suite is an MCP server listed in the public MCP registry as io.github.theluckystrike/office-suite. Whole freelancer office in one MCP server: time tracking, price watching, spreadsheets, invoicing. This page covers its MCPB bundle (https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/office-suite.mcpb).
Is the io.github.theluckystrike/office-suite MCP server safe to use?
io.github.theluckystrike/office-suite scores 46 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.theluckystrike/office-suite MCP server expose?
io.github.theluckystrike/office-suite exposes 158 tools: timer_start, timer_stop, timer_status, entry_add, entry_list, and 153 more. Their descriptions and schemas cost roughly 23,736 tokens of context every time the server is loaded.
What licence is the io.github.theluckystrike/office-suite MCP server under?
io.github.theluckystrike/office-suite declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.