whistler-mcp 1.0.21 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +2 -2
  2. package/package.json +1 -1
  3. package/server.js +4 -4
package/README.md CHANGED
@@ -5,8 +5,8 @@ An official [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) ser
5
5
 
6
6
  ## Features
7
7
  - **Job Placement Data:** Fetch lists of companies and role metadata (title, CTC, eligibility) for any requested year.
8
- - **Job descriptions on demand (`get_role_jd`):** The backend derives JD content server-side — extracted text when the PDF has a text layer, or page images when it is image-only. The raw PDF file is never shared. Counts toward your daily view limit.
9
- - **Feedback & Requests:** Submit bug reports, feature ideas, and PDF limit increase requests dynamically.
8
+ - **Job descriptions on demand (`get_role_jd`):** Fetch a role's job description by company and role id. Counts toward your daily view limit.
9
+ - **Feedback & Requests:** Submit bug reports, feature ideas, and daily limit increase requests dynamically.
10
10
  - **Agentic Authentication:** The AI securely prompts you for your email and password when you first connect, fetches a real token from the backend, and saves it locally (`~/.whistler_mcp_token.json`).
11
11
 
12
12
  ## Usage via npx (Claude Desktop)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whistler-mcp",
3
- "version": "1.0.21",
3
+ "version": "1.0.22",
4
4
  "description": "An MCP Server for retrieving placement data, job roles, and platform statistics from the Whistler API.",
5
5
  "main": "server.js",
6
6
  "bin": {
package/server.js CHANGED
@@ -15,7 +15,7 @@ const API_BASE_URL = process.env.API_URL || 'https://whistler-backend.onrender.c
15
15
  const server = new Server(
16
16
  {
17
17
  name: "whistler-mcp-server",
18
- version: "1.0.21",
18
+ version: "1.0.22",
19
19
  },
20
20
  {
21
21
  capabilities: { tools: {} },
@@ -101,7 +101,7 @@ const toolsDefinition = {
101
101
  }
102
102
  },
103
103
  get_company_roles: {
104
- description: "Fetch job role metadata for a company (title, CTC, eligibility, location). Returns each role with a stable `id`. To read a role's job description, call get_role_jd with that company and role id. The raw PDF file is never shared.",
104
+ description: "Fetch job role metadata for a company (title, CTC, eligibility, location). Returns each role with a stable `id`. To read a role's job description, call get_role_jd with that company and role id.",
105
105
  schema: z.object({
106
106
  companyId: z.string().optional(),
107
107
  companyName: z.string().optional(),
@@ -120,7 +120,7 @@ const toolsDefinition = {
120
120
  },
121
121
 
122
122
  get_role_jd: {
123
- description: "Get the job description for a single role. The backend derives content server-side: it returns extracted text when the role's PDF has a text layer, or page images (base64) when the PDF is image-only. The raw PDF file is never returned. Counts toward your daily view limit. Use the company name/id and the role `id` from get_company_roles.",
123
+ description: "Get the job description for a single role. Counts toward your daily view limit. Use the company name and role `id` from get_company_roles.",
124
124
  schema: z.object({
125
125
  companyName: z.string(),
126
126
  jobId: z.string(),
@@ -156,7 +156,7 @@ const toolsDefinition = {
156
156
 
157
157
  // PDF Access Requests
158
158
  submit_pdf_request: {
159
- description: "Submit a request to increase a user's daily PDF view limit (web app only for viewing PDFs).",
159
+ description: "Submit a request to increase a user's daily job description view limit.",
160
160
  schema: z.object({ requestedLimit: z.number(), reason: z.string() }),
161
161
  inputSchema: { type: "object", properties: { requestedLimit: { type: "number" }, reason: { type: "string" } }, required: ["requestedLimit", "reason"] }
162
162
  },