Single tool 'SearchJobs' has a clear action verb and basic schema, but critical gaps undermine production readiness. Description is adequate (54 chars) but lacks WHEN to use it or prerequisites. Parameters have descriptions and types, but lack enums for constrained values (datePosted, sort). No output schema documented, LLMs cannot plan downstream calls. No error handling guidance beyond a generic error message. The tool returns unstructured string output instead of structured JSON, forcing LLMs to parse free text. No pagination support despite potentially large result sets. API key hardcoded in source code (critical security violation). Overall: below-average community server quality.
Search for jobs on LinkedIn.
API key hardcoded in Program.cs (x-rapidapi-key='200b95a8c9msh36250aa73bd746ap13a2c7jsne8a99d2a6d78'). Credentials must never appear in source code or tool parameters. Use environment variables or secure vault injection.
Output is unstructured string (string.Join with newlines) instead of structured JSON. LLMs cannot reliably parse free-text responses or extract fields for downstream tool calls. Return a typed object with fields: title, company, location, postedDate, url, totalResults.
Parameters 'datePosted' and 'sort' accept free-form strings but have constrained valid values (anyTime|past24Hours|pastWeek|pastMonth and mostRelevant|mostRecent). Declare these as enums in the schema to prevent hallucinated invalid values.
No output schema documented. Tool description does not specify what fields are returned or their types. LLMs cannot plan multi-step workflows or extract required IDs for chaining.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
No pagination support. If search returns >20 results, all are concatenated into a single string response, wasting tokens and risking context window exhaustion. Add limit and offset/cursor parameters and return a total count.