Claude MCP Job Assistant
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
The two tools have clearly distinct purposes: search_jobs fetches and lists jobs, while save_job persists a specific job. There is no overlap in their functionality, making misselection unlikely.
Naming Consistency4/5Both tools follow the verb_noun pattern (search_jobs, save_job) using lowercase snake_case. The consistency is good, though with only two tools there is limited evidence of a broader pattern.
Tool Count2/5Two tools is quite thin for a job assistant server that presumably requires browsing and managing jobs. Missing operations needed for a complete workflow means the count feels inadequate for the domain.
Completeness2/5The surface has notable gaps: there's no way to list or retrieve saved jobs, no delete/discard capability, no detailed view of a job, and no pagination beyond max_results. Agents could reach dead ends when trying to manage or review saved jobs.
Average 3.2/5 across 2 of 2 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 3 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It reveals that jobs are 'stored temporarily,' which adds transparency about side effects, but it doesn't disclose data freshness, pagination behavior, API rate limits, or whether this is a read-only vs write operation. For a tool that fetches external data and stores it, more behavioral context would be expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and readable, with a brief summary line followed by a structured Args/Returns section. It's efficient without wasted words. The format mirrors a Python docstring which is familiar to many agents, aiding comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero annotations, no sibling differentiation, and a 0% schema coverage, this description leaves significant gaps. It doesn't mention how results are ordered, what constitutes 'key info' in the returned dictionaries, whether location requires a specific format or country, or how temporary storage interacts with the save_job sibling. An output schema exists, which helps explain return values, but the description still lacks operational context for a tool with 3 parameters and external API side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter documentation. It lists role, location, and max_results with terse one-line descriptions that essentially restate the schema field names ('The role to search for', 'The location to search for', 'The maximum number of jobs to return'). 'Role' and 'location' are ambiguous - role of what (job title? seniority?), and no format or examples are provided for any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Fetch(es) jobs using JSearch API and store(s) them temporarily. Return(s) key info.' This provides a specific verb (fetch) and a resource (jobs via JSearch API), distinguishing it from the sibling 'save_job' tool which implies persistence. However, it doesn't explicitly contrast against save_job in the description, though the 'store them temporarily' phrasing hints at the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus save_job or other alternatives. The description implies 'fetching jobs' is the use case, but lacks any when/when-not statements or mention of the sibling save_job tool. The distinction between temporary storage here and the save_job sibling is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the salary extraction side-effect ('If salary not provided, extract it from the fetched job data') which is helpful behavioral context, and the return type. However, it doesn't disclose side effects like whether the job is removed from the temp list, idempotency, or error behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact with clear sections (Args, Returns). It adds a second sentence about salary extraction that is valuable. Minor redundancy: the Returns line restates the obvious outcome of a save action. Overall well-organized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is an output schema that presumably documents the return value, reducing burden there. The tool has only 2 params, making it relatively simple. The description covers the core behavior and the notable optional salary-extraction side effect. It doesn't address failure cases or edge conditions, but for a simple save operation with an output schema, this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does reasonably: job_id is explained as 'The ID of the job to save' and salary as 'The salary of the job to save', plus the extraction fallback behavior. A stronger definition of what 'extract' means exactly and expected salary format would push this higher, but the semantics are adequately clarified given zero schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (save), the resource (job), and the action context (from temporary list into candidate's saved folder). It distinguishes the purpose reasonably from its sibling search_jobs, though it doesn't explicitly name the sibling as an alternative. The 'Args' and 'Returns' sections add useful structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (saving from a temporary list into a saved folder) but does not explicitly state when to use this vs search_jobs. It mentions an optional behavior (extract salary if not provided) but gives no exclusions, prerequisites, or explicit alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/eric623/Claude-MCP-Job-Assistant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server