Skip to content

Releases: Dhi13man/oorep-mcp

v1.2.3

Choose a tag to compare

@Dhi13man Dhi13man released this 03 Aug 15:59
c88ee89

Fixed

  • MCP Registry namespace: Corrected the case-sensitive GitHub OIDC namespace to io.github.Dhi13man/oorep-mcp, enabling publication to the official MCP Registry.

Security

  • Release validation: Reject MCP namespace drift between the canonical GitHub repository owner, package.json, and server.json before publishing.

Full Changelog: v1.2.2...v1.2.3

oorep-mcp v1.2.2

Choose a tag to compare

@Dhi13man Dhi13man released this 03 Aug 15:38
0ff9eb3

Added

  • Open-source maintenance: Added community issue and pull request templates, a Code of Conduct, private vulnerability-reporting guidance, and OpenSSF Scorecard reporting.
  • MCP Registry publishing: Added current registry metadata and automated publication of io.github.dhi13man/oorep-mcp after npm releases.
  • Project metadata: Added citation metadata, GitHub funding configuration, and provenance context for the repertory structure analysis.

Changed

  • Supported runtime: Raised the minimum Node.js version from 18 to 20 to use patched Hono dependencies.
  • Build and test gates: Clean stale build output, run formatting as a non-mutating check, and count live end-to-end assertion failures instead of reporting false passes.
  • Release authentication: Replaced long-lived npm tokens with short-lived GitHub OIDC credentials; npm trusted publishing now emits provenance automatically.
  • Repository access: Changed the OOREP submodule URL from SSH to HTTPS so anonymous clones can initialize it.

Fixed

  • Live repertory search: Support the current grouped OOREP response shape while retaining compatibility with legacy flat results.
  • Metadata validation: Omit unavailable repertory and materia medica author/language fields instead of returning invalid null values.
  • CodeQL findings: Removed unused bindings and scoped SARIF upload permissions to the analysis job.
  • Package surface: Removed a duplicate interface barrel and corrected the public SDK interface/export checks.

Security

  • Updated direct and transitive dependencies to remove all 18 reported npm audit findings, including two critical findings.
  • Pinned third-party GitHub Actions to immutable commit SHAs and disabled persisted checkout credentials.
  • Made CodeQL and OpenSSF failures visible, and removed the inactive Codecov upload path while retaining enforced coverage thresholds in CI.

Dependencies

  • Core: @modelcontextprotocol/sdk 1.25.1 → 1.30.0, zod 4.2.1 → 4.3.5.
  • Toolchain: TypeScript 5.8 → 6.0.3, ESLint 9 → 10, Node.js types 25 → 26, Vitest 4.0 → 4.1, and compatible TypeScript-ESLint, Prettier, and transitive security updates.

Full changelog

v1.2.1: Search Guide Optimization & Dependency Updates

Choose a tag to compare

@Dhi13man Dhi13man released this 25 Dec 07:23
5974d25

What's Changed

Search Guide Rewrite

Complete rewrite of oorep://help/search-syntax resource for AI agents:

  • Leaner: ~200 → ~100 lines (removed noise)
  • Universal: Works across all repertories (Kent, Murphy, Synthesis, BG3.100)
  • Accurate: Emphasized agg/amel over "worse"/"better" (42,437 vs 544 occurrences)
  • Actionable: Added vocabulary mapping and recovery strategies

New Documentation

  • docs/REPERTORY_STRUCTURES.md: Analysis of 451,918 symptoms across 4 repertories

Dependency Updates

  • Core: @modelcontextprotocol/sdk 1.24.3 → 1.25.1, zod 4.1.13 → 4.2.1
  • Dev: @types/node 24 → 25, eslint 9.17 → 9.39, typescript-eslint 8.49 → 8.50

Stats

  • ✅ 1102 tests passing
  • ✅ 94.81% coverage
  • ✅ 0 vulnerabilities

Full Changelog: v1.2.0...v1.2.1

v1.2.0 - Remote User Header & SDK Improvements

Choose a tag to compare

@Dhi13man Dhi13man released this 13 Dec 07:35
eb96a36

Highlights

This release adds support for authenticated OOREP sessions via the X-Remote-User header and fixes a critical bug where the maxResults SDK config was being ignored.

Breaking Changes

  • Class Renamed: OOREPSDKClientOOREPClient - Update imports accordingly
  • Config Property Renamed: clienthttpClient in OOREPSDKConfig for custom HTTP client injection
  • Method Renamed: getClient()getHttpClient() on SDK client for accessing underlying HTTP client
  • Interface Renamed: IOOREPSDKClientIOOREPClient

Added

  • OOREP_MCP_REMOTE_USER environment variable to send X-Remote-User header (numeric member ID) on all upstream requests
  • remoteUser SDK config option for programmatic X-Remote-User header configuration
  • maxResults SDK config option to set default maximum results for searches (default: 100, max: 500)

Fixed

  • maxResults Config: SDK config maxResults is now correctly applied (was being ignored due to Zod schema defaults)
  • Documentation: Updated test count and coverage badges in README

Changed

  • Test Coverage: Increased from 93% to 95% with 1100+ tests

Installation

# MCP Server
npx oorep-mcp

# SDK
npm install oorep-mcp

Full Changelog

See CHANGELOG.md for complete details.

v1.1.3

Choose a tag to compare

@Dhi13man Dhi13man released this 10 Dec 20:30
06b560d

Fixed

  • Tool Descriptions: Removed hardcoded repertory/materia medica abbreviation examples to prevent AI model bias
    • search_repertory: repertory parameter now references list_available_repertories for dynamic discovery
    • search_materia_medica: materiamedica parameter now references list_available_materia_medicas for dynamic discovery
    • Fixes incorrect suggestion of "kent" as a materia medica (it's a repertory)
    • Updated across all SDK locations: src/sdk/tools.ts, src/utils/schemas.ts, src/tools/search-repertory.ts, src/tools/search-materia-medica.ts, src/sdk/adapters/vercel-ai.ts
    • Aligns with MCP best practices for cross-tool referencing (used by Salesforce, Gong MCP servers)

Full Changelog: v1.1.2...v1.1.3

v1.1.2: Documentation Import Path Fixes

Choose a tag to compare

@Dhi13man Dhi13man released this 10 Dec 15:16
d5a6764

Fixed

README.md Documentation

  • Changed oorep-mcp/sdk/client to oorep-mcp for createOOREPClient imports
  • Consolidated type imports into single from 'oorep-mcp' block

Source Code JSDoc Examples

Fixed 14 outdated import paths across 6 files:

  • src/interfaces/IOOREPSDKClient.ts: Updated path references
  • src/sdk/resources.ts: Fixed listResources, getResource, getSearchSyntaxHelp examples
  • src/sdk/prompts.ts: Fixed listPrompts, getPrompt examples
  • src/sdk/adapters/openai.ts: Fixed 6 JSDoc examples
  • src/sdk/adapters/langchain.ts: Fixed 3 JSDoc examples
  • src/sdk/adapters/google-genai.ts: Fixed OOREPSDKClient import example

Installation

npm install oorep-mcp@1.1.2

Import Paths

// Main package - all exports
import { createOOREPClient, getResource, getPrompt } from 'oorep-mcp';

// Adapter subpaths
import { openAITools } from 'oorep-mcp/sdk/openai';
import { createOOREPTools } from 'oorep-mcp/sdk/vercel-ai';
import { createLangChainTools } from 'oorep-mcp/sdk/langchain';
import { geminiTools } from 'oorep-mcp/sdk/google-genai';

Full Changelog: v1.1.1...v1.1.2

v1.1.1: Package Export Fixes

Choose a tag to compare

@Dhi13man Dhi13man released this 10 Dec 14:51

Summary

Fixes package export issues in v1.1.0. This is the recommended version.

Fixed

  • Package Exports: Simplified to 6 clean entry points

    • Root 'oorep-mcp' exports everything (client, types, schemas, constants, resources, prompts)
    • Adapter subpaths: 'oorep-mcp/sdk/openai', 'oorep-mcp/sdk/vercel-ai', 'oorep-mcp/sdk/langchain', 'oorep-mcp/sdk/google-genai'
    • Convenience: 'oorep-mcp/sdk/adapters' for all adapters
  • SDK.md Documentation: Corrected function naming inconsistencies

    • Fixed camelCase for adapter functions (openAIFormatResourceAsSystemMessage, not openaiFormat...)
    • Fixed type import paths to use correct entry points
    • Consolidated duplicate imports in code examples

Usage

// Everything from main entry
import {
  createOOREPClient,
  TOOL_NAMES,
  getResource,
  getPrompt,
  SearchRepertoryArgsSchema,
} from 'oorep-mcp';

// Framework-specific adapters
import { openAITools } from 'oorep-mcp/sdk/openai';
import { createOOREPTools } from 'oorep-mcp/sdk/vercel-ai';
import { createLangChainTools } from 'oorep-mcp/sdk/langchain';
import { geminiTools } from 'oorep-mcp/sdk/google-genai';

Full Changelog

See CHANGELOG.md for complete details.

v1.1.0: SDK as Single Source of Truth

Choose a tag to compare

@Dhi13man Dhi13man released this 10 Dec 14:50
ca110ca

Highlights

This release establishes the SDK as the single source of truth for all MCP primitives, with comprehensive new APIs for programmatic access to resources and prompts.

New Features

Standalone Resource Functions

  • getResource(uri, client?) - Fetch any resource by URI
  • listResources() - List all available resources with metadata
  • getSearchSyntaxHelp() - Get search syntax guide as markdown

Standalone Prompt Functions

  • getPrompt(name, args?) - Get prompt workflows with type-safe overloads
  • listPrompts() - List all available prompts with metadata

Centralized Constants

  • TOOL_NAMES, RESOURCE_URIS, PROMPT_NAMES, DEFAULTS, MIME_TYPES
  • Type exports: ToolName, ResourceUri, PromptName

Adapter Enhancements

All SDK adapters (OpenAI, Vercel AI, LangChain, Google Gemini) now support resource and prompt formatting.

Other Changes

  • NotFoundError Class: Specific error type for missing resources/tools/prompts
  • Modular Architecture: Resources and prompts split into individual files
  • Enhanced Search Syntax Help: CLAMS method integration, query optimization tips
  • Security Policy: Added SECURITY.md with vulnerability reporting guidelines

Note

⚠️ This version had package export issues. Please use v1.1.1 instead.

Full Changelog

See CHANGELOG.md for complete details.

v1.0.3 - Relaxed Symptom Validation

Choose a tag to compare

@Dhi13man Dhi13man released this 09 Dec 14:10
64f4c94

What's Changed

Relaxed Symptom Validation

Removed overly restrictive input validation that was causing errors when LLMs (especially Google Gemini) send symptom queries with non-ASCII characters.

Changes:

  • Removed regex validation /^[a-zA-Z0-9\s\-*"'.,;:()/&]+$/ that was rejecting Unicode characters, accented letters, and special formatting
  • Removed wildcard-in-middle-of-word validation that was causing false positives
  • The OOREP API now handles input sanitization server-side

Impact:

  • LLM-generated queries with Unicode characters (e.g., héadàche, 頭痛症) now work correctly
  • Special characters and formatting from various LLMs are accepted
  • No more ValidationError responses for legitimate symptom queries

Other Changes

  • Updated dependencies to latest versions
  • Updated README security documentation to reflect new validation behavior

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

v1.0.2 - Dependency Updates

Choose a tag to compare

@Dhi13man Dhi13man released this 09 Dec 04:08
f551028

What's Changed

Dependencies

  • @modelcontextprotocol/sdk: 1.22.0 → 1.24.3

Development Dependencies

  • @types/node: 24.10.1 → 24.10.2
  • @typescript-eslint/eslint-plugin: 8.18.2 → 8.49.0
  • @typescript-eslint/parser: 8.18.2 → 8.49.0
  • @vitest/coverage-v8: 4.0.13 → 4.0.15
  • prettier: 3.0.0 → 3.7.4
  • tsx: 4.7.0 → 4.21.0
  • typescript-eslint: 8.18.2 → 8.49.0

Full Changelog: v1.0.1...v1.0.2