Skip to content

Releases

v1.0.3 — Enhanced server and contributor cleanup

Choose a tag to compare

@Enreign Enreign released this 06 Mar 16:57
Immutable release. Only release title and notes can be modified.

What's Changed

New Feature

  • Added enhanced server with permission-based tool discovery (src/server/enhanced-server.ts)
  • Added e2e test suite for enhanced server

CI & Test Fixes

  • Fixed GitHub Actions workflow: updated deprecated actions, pinned Node 20.x, streamlined pipeline
  • Added ESLint config and fixed all lint errors
  • Fixed all TypeScript strict-mode errors in security tests
  • Fixed nock test timeouts caused by global fake timers (jest.useRealTimers())
  • Fixed unit test failures in client and companies tests

Security

  • Added public validateDomain() and validateApiKey() methods to Authenticator
  • Full authentication security test suite now passing

Chore

  • Removed AI tooling files from tracking (.swarm/, memory/, CLAUDE.md, claude-flow*)
  • Updated .gitignore to prevent re-committing dev-only files
  • Fixed contributor history (removed unintended ssh@keepit.com author)

Full Changelog: v1.0.2...v1.0.3

v1.0.1 — Bug fixes and e2e test suite

Choose a tag to compare

@Enreign Enreign released this 06 Mar 12:55
Immutable release. Only release title and notes can be modified.
f16aaa3

What's Changed

Bug Fixes

6 broken tool actions corrected across 4 tools:

Tool Action Fix
agents_manage list_groups Resolve via agent's group_ids → GET /groups/:id (endpoint /agents/:id/groups doesn't exist in API v2)
agents_manage list_roles Resolve via agent's role_ids → GET /roles/:id (same reason)
companies_manage search Wrap query in double quotes; remove unsupported per_page; document domain: as the valid search field
companies_manage list_contacts Use GET /contacts?company_id=:id (endpoint /companies/:id/contacts doesn't exist)
contacts_manage search Wrap query in double quotes; remove unsupported per_page
contacts_manage merge Use POST /contacts/merge with {primary_contact_id, secondary_contact_ids} body (was incorrectly PUT /contacts/:id/merge)
tickets_manage search Wrap query in double quotes; remove unsupported per_page; document valid searchable fields

Added

  • E2E test suite (tests/e2e/freshdesk-tools.e2e.test.ts) — covers all 5 tools and 34 actions against a live Freshdesk instance (34/34 passing)
  • CHANGELOG.md — documents all changes going forward

Search Syntax Notes

Freshdesk search API requires queries wrapped in double quotes and uses field-specific syntax:

  • Tickets: "status:2", "priority:1 AND status:2"
  • Contacts: "email:'user@example.com'"
  • Companies: "domain:'freshdesk.com'"

Installation

Download freshdesk-mcp-v1.0.1.mcpb and add to your Claude Desktop config:

{
  "mcpServers": {
    "freshdesk": {
      "command": "npx",
      "args": ["tsx", "/path/to/src/index.ts"],
      "env": {
        "FRESHDESK_DOMAIN": "yourcompany.freshdesk.com",
        "FRESHDESK_API_KEY": "your-api-key"
      }
    }
  }
}

Full Changelog: v1.0.0...v1.0.1