trackly-cli 0.1.6 → 0.1.7

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.
package/mcp/server.js CHANGED
@@ -66,9 +66,10 @@ function createServer() {
66
66
 
67
67
  server.tool(
68
68
  'trackly_search_jobs',
69
- 'Search and filter job postings. Returns matching jobs with title, company, location, modality.',
69
+ 'Search and filter job postings. Returns matching jobs with title, company, location, modality. Use companyId to filter jobs at a specific company (get companyId from trackly_search_companies first).',
70
70
  {
71
71
  function: z.enum(['product_management', 'engineering', 'design', 'data_science', 'marketing', 'sales', 'finance', 'operations', 'legal', 'hr', 'other']).optional().describe('Job function filter: product_management, engineering, design, data_science, marketing, sales, finance, operations, legal, hr, other'),
72
+ companyId: z.number().optional().describe('Filter jobs by company ID (get from trackly_search_companies)'),
72
73
  location: z.string().optional().describe('Location filter (city or state)'),
73
74
  modality: z.enum(['remote', 'hybrid', 'onsite']).optional().describe('Work modality: remote, hybrid, onsite'),
74
75
  status: z.enum(['new', 'saved', 'applied', 'dismissed']).optional().describe('Application status: new, saved, applied, dismissed'),
@@ -78,9 +79,17 @@ function createServer() {
78
79
  keywords: z.string().max(500).optional().describe('Keyword search in title/description'),
79
80
  },
80
81
  wrapTool(async (params) => {
82
+ // Map MCP param names to backend query param names
83
+ const paramMap = {
84
+ function: 'jobFunction',
85
+ keywords: 'search',
86
+ };
81
87
  const qs = new URLSearchParams();
82
88
  for (const [key, value] of Object.entries(params)) {
83
- if (value !== undefined && value !== null) qs.set(key, String(value));
89
+ if (value !== undefined && value !== null) {
90
+ const backendKey = paramMap[key] || key;
91
+ qs.set(backendKey, String(value));
92
+ }
84
93
  }
85
94
  return apiRequest('GET', `/api/jobscout/jobs?${qs.toString()}`, null, false, false, MCP_USER_AGENT);
86
95
  }, 'Failed to search jobs')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trackly-cli",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "mcpName": "io.github.kevinastuhuaman/trackly",
5
5
  "description": "CLI + MCP server for job tracking — search, apply, and manage applications from terminal or AI agents",
6
6
  "bin": {
package/server.json CHANGED
@@ -15,12 +15,12 @@
15
15
  "sizes": ["512x512"]
16
16
  }
17
17
  ],
18
- "version": "0.1.5",
18
+ "version": "0.1.7",
19
19
  "packages": [
20
20
  {
21
21
  "registryType": "npm",
22
22
  "identifier": "trackly-cli",
23
- "version": "0.1.5",
23
+ "version": "0.1.7",
24
24
  "runtimeHint": "npx",
25
25
  "runtimeArguments": [
26
26
  {