Weekly Report Checker
Provides tools for checking weekly report submissions in a Google Sheet, including identifying missing reports, viewing specific person's report status, and analyzing submission statistics.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Weekly Report Checkerwho hasn't submitted their weekly report yet?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Weekly Report Checker MCP Server
An MCP (Model Context Protocol) server that checks weekly report submissions in a Google Sheet.
Features
Check who hasn't submitted their weekly reports
Get detailed information about a specific person's report status
View submission statistics
Get a list of all team members who should submit reports
Related MCP server: Observability MCP Server
Prerequisites
Python 3.10 or higher
A Google Sheets service account JSON file (
service_account.json)Access to the "週報" Google Sheet
Installation
# Install the package
pip install -e .
# Install in Claude Desktop
./install_server.sh
# or
mcp install mcp_server.main --name "週報檢查器"Usage
# Run in development mode
./run_server.sh
# or
mcp dev mcp_server.main
# Run directly
python -m mcp_server.main
# or
weekly-report-serverExample Client
Run the example client:
python example_usage.pyAPI Reference
Resources
weekly-report://status- Get who hasn't submitted reportsweekly-report://stats- Get submission statisticsweekly-report://all-members- Get all team membersweekly-report://person/{name}- Get a specific person's status
Tools
check_missing_reports- Check missing reportscheck_person_report- Check a specific person's reportget_submission_stats- Get submission statistics
Available Tools
3 toolscheck_missing_reportsB
Check who hasn't submitted their weekly reports yet
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool checks for missing reports but doesn't describe what data is returned (e.g., list of names, timestamps), how it determines 'missing' (e.g., based on deadlines), or any side effects like notifications. This leaves significant gaps for a tool with potential behavioral implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the core purpose without unnecessary details. It is front-loaded and wastes no words, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema exists, the description doesn't need to explain inputs or return values. However, it lacks context on how the tool operates (e.g., data sources, criteria for 'missing'), which could be important for an agent to use it effectively. The description is minimal but adequate for a simple check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, which is appropriate here. Baseline is 4 for zero parameters, as no compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking who hasn't submitted weekly reports. It uses a specific verb ('check') and resource ('weekly reports'), though it doesn't explicitly differentiate from sibling tools like 'check_person_report' or 'get_submission_stats'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'check_person_report' or 'get_submission_stats'. It implies usage for checking missing reports but offers no context on prerequisites, timing, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_person_reportB
Check if a specific person has submitted their weekly report
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'checks' a report, implying a read-only operation, but doesn't clarify what 'check' entails (e.g., returns a boolean, detailed status, or error if not found). It also lacks information on permissions, rate limits, or error handling, leaving significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the core purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand quickly, which is ideal for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter) and the presence of an output schema (which should cover return values), the description is minimally adequate. However, with no annotations and incomplete parameter semantics, it lacks details on behavioral aspects like what the check returns or error conditions, making it incomplete for full agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, and the tool description provides no additional parameter information. It mentions 'specific person' but doesn't specify what 'name' parameter represents (e.g., full name, username, ID) or its format. With low schema coverage, the description fails to compensate, leaving the parameter's meaning unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('check') and resource ('weekly report') for a specific person. It distinguishes from sibling tools like 'check_missing_reports' (which likely checks for missing reports across multiple people) and 'get_submission_stats' (which likely provides statistical data). However, it doesn't explicitly mention how it differs from siblings beyond the specific person focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'weekly report' and 'specific person,' suggesting it should be used when checking individual submission status. However, it provides no explicit guidance on when to use this tool versus alternatives like 'check_missing_reports' or 'get_submission_stats,' nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_submission_statsB
Get statistics about weekly report submissions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves statistics but doesn't specify what kind of statistics, whether it's read-only, if it requires authentication, or any rate limits. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema exists, the description doesn't need to explain return values. However, with no annotations and sibling tools present, it lacks context on usage and behavioral traits, making it minimally adequate but with clear gaps in guiding the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter details, and it appropriately avoids mentioning any, earning a baseline score of 4 for tools with no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'statistics about weekly report submissions', making the purpose understandable. However, it doesn't differentiate from sibling tools like 'check_missing_reports' or 'check_person_report', which likely serve related but distinct purposes in the reporting domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like the sibling tools. It lacks context about specific scenarios, prerequisites, or exclusions, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: checking missing reports (broad), checking a specific person's report (targeted), and getting submission statistics (aggregate). There is no overlap or ambiguity between these functions.
All tool names follow a consistent verb_noun pattern (check_missing_reports, check_person_report, get_submission_stats) with clear, descriptive verbs and nouns. The naming is uniform and predictable throughout.
With 3 tools, the server is well-scoped for its purpose of managing weekly report submissions. Each tool serves a distinct and necessary function without being overly sparse or bloated.
The tools cover the core read-only operations for checking and analyzing report submissions effectively. A minor gap exists in write operations (e.g., submitting or updating reports), but agents can likely work around this for the stated checking purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server that automatically collects feedback on your MCP server.
MCP server providing attendance data queries via the CloudTime API.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
An MCP server for deep research or task groups
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceThis MCP server enables AI assistants to automatically sync Google Sheets data to a local database and perform natural language queries and analysis on spreadsheet data.194MIT
- AlicenseNot gradedqualityBmaintenanceProvides comprehensive monitoring and observability for MCP server ecosystems with real-time health checks, performance metrics, distributed tracing, anomaly detection, and automated performance reports using OpenTelemetry and Prometheus.1MIT
- AlicenseAqualityFmaintenanceA comprehensive MCP server integrating YouTube Data, Analytics, and Reporting APIs, providing 40 tools for channel management, analytics, video publishing, transcripts, SEO, and comments.4019MIT
- FlicenseAqualityCmaintenanceMCP server for YouTube channel deep analytics, extracting transcripts and computing quantitative metrics like WPM, profanity, and humor taxonomy, with multi-creator comparison dashboards.51
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kaneyxx/weekly-report-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server