similarity-search-api-sdk
Server Details
Stateless NMI + cosine fusion with entropy-driven alpha calibration
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- nexus-mcp-infra/similarity-search-api-sdk
- GitHub Stars
- 0
- Server Listing
- Similarity Search MCP Server
TDQS
Scored across 3 tools
Each tool targets a distinct operation: corpus-level entropy estimation, full-corpus ranking fusion, and single-pair scoring. The descriptions clearly separate use cases (preflight inspection, batch ranking, explainability/debugging), so there is no overlap to confuse an agent.
All three tools share the consistent 'nexus_similarity_search_api' prefix and then follow a verb-noun pattern: estimate_corpus_entropy_profile, rank_items_by_nmi_cosine_fusion, score_pair_nmi_cosine. The naming style is also uniformly snake_case and predictable.
Three tools is perfectly scoped for this focused SDK: one for preflight entropy estimation, one for batch ranking, and one for single-pair validation. Each tool has a clear, non-redundant role, and the count fits the server's narrow purpose.
The tool surface covers the full workflow for a stateless similarity search: inspect corpus entropy/alpha before running, rank all items via NMI-cosine fusion, and validate/debug individual pair scores. There are no obvious dead ends or missing lifecycle steps in this domain.
Available Tools
3 toolsnexus_similarity_search_api_estimate_corpus_entropy_profileAInspect
Computes the aggregate entropy-calibrated alpha for a corpus without running a full search -- useful to inspect before committing to a large rank_items_by_nmi_cosine_fusion call. Returns a single aggregate corpus_entropy value, NOT a per-dimension breakdown -- the real logic only exposes the mean marginal entropy across dimensions, not H(X_d) per individual dimension. Do NOT use expecting per-dimension granularity. Requires an x402 payment.
| Name | Required | Description | Default |
|---|---|---|---|
| n_bins | No | Number of histogram bins for entropy discretization. Must be between 3 and 50; should match the n_bins used in rank_items_by_nmi_cosine_fusion for the profile to be consistent. | |
| corpus_vectors | Yes | List of dense numeric vectors for which to compute the aggregate entropy and calibrated alpha. Each inner array must be the same length. Maximum 500000 entries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It reveals the key limitation that the underlying logic only exposes mean marginal entropy and not individual H(X_d) values, emphasizes that it returns a single aggregate value, and discloses that it requires an x402 payment. It could add response-shape or failure-mode details, but the core caveats are honestly and usefully disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it states what it does, why it is useful, what it returns, its important limitation, and its payment requirement within three sentences. The per-dimension warning is repeated once across the neutral second sentence and imperative third sentence, which adds mild redundancy but reinforces an important boundary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description covers the essential contextual bases for an agent: what is computed, when to use it, what will and will not be returned, what the caller should not expect, and the payment requirement. The output is simple enough that saying it returns a single aggregate corpus_entropy value makes the tool's behavior sufficiently transparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already fully documented in the schema. The description does not add parameter-specific meaning, but it also does not need to because the schema already provides semantic guidance such as the n_bins consistency with rank_items_by_nmi_cosine_fusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific, meaningful verb-resource combination: it computes the aggregate entropy-calibrated alpha for a corpus, and it explicitly says this is done without running a full search. It also differentiates itself from the sibling by stating it is NOT a per-dimension breakdown, so an agent can distinguish this from rank_items_by_nmi_cosine_fusion without opening associated schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states exactly when to use this tool: before committing to a large rank_items_by_nmi_cosine_fusion call. It also gives a clear when-not-to-use condition: do not use it when per-dimension entropy granularity is required. This provides strong routing guidance relative to the primary sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_similarity_search_api_rank_items_by_nmi_cosine_fusionAInspect
Ranks a corpus of items against a query vector using a calibrated fusion score (alpha * cosine + (1-alpha) * NMI_normalizado), where alpha is auto-derived from the corpus's marginal entropy unless overridden. Results are identified by their 0-indexed position in corpus_vectors (this tool does not accept explicit item IDs). Use this when you need semantically-calibrated similarity over a stateless corpus of up to 500k items without a vector database. Do NOT use for purely geometric nearest-neighbor search where NMI overhead is unnecessary, nor for corpora larger than 500k items per call. Requires an x402 payment.
| Name | Required | Description | Default |
|---|---|---|---|
| top_k | No | Number of top-ranked results to return, ordered by descending fusion score. Capped at 1000 by the core service regardless of corpus size. | |
| n_bins | No | Number of histogram bins used to discretize continuous dimensions when estimating NMI. Must be between 3 and 50. | |
| query_vector | Yes | Dense numeric vector representing the query item. Must have the same dimensionality as all corpus_vectors entries. | |
| alpha_override | No | Fixed alpha weight for cosine component in [0.0, 1.0]. If omitted, alpha is auto-calibrated from corpus entropy. Set to 1.0 to use pure cosine; 0.0 for pure NMI. | |
| corpus_vectors | Yes | List of dense numeric vectors forming the corpus to rank against. Each inner array must match query_vector dimensionality. Maximum 500000 entries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and largely delivers: it discloses the x402 payment requirement, the stateless corpus assumption, the 0-indexed position-based result identification (no item IDs), and alpha auto-calibration from marginal entropy. The main gap is that it does not describe the shape of the returned objects despite having no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is about five sentences long, organized as purpose, result-identification caveat, when-to-use, when-not-to-use, and payment requirement. Everything earns its place and the core action is front-loaded; only marginal trimming would be possible without losing a meaningful constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool of this complexity with no output schema, the agent is left without a clear contract for the returned objects — 'Results are identified by their 0-indexed position' is suggestive but does not say whether the response includes scores, ordering metadata, or just positions. Dimensionality-mismatch behavior is also unstated. Corpus size cap, defaults, payment, and ID semantics are all handled well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter's bounds, defaults, and meaning. The description adds some useful connective tissue — the fusion formula explains why alpha_override and n_bins exist — but it does not materially expand the semantic content of the individual parameters beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb and resource — 'Ranks a corpus of items against a query vector' — and pins down the exact scoring formula (alpha * cosine + (1-alpha) * NMI_normalizado). This makes it unambiguously distinct from its siblings, one of which estimates corpus entropy and the other scores a single pair.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance ('Use this when you need semantically-calibrated similarity over a stateless corpus of up to 500k items without a vector database') and explicit when-not-to-use guidance ('Do NOT use for purely geometric nearest-neighbor search... nor for corpora larger than 500k items'). It stops just short of a 5 because it never names the alternative sibling tools directly, so the agent must infer which sibling covers pairwise scoring or geometric search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_similarity_search_api_score_pair_nmi_cosineAInspect
Computes the NMI-cosine fusion score for exactly one (query, target) vector pair at a fixed alpha. Use for explainability, debugging, or unit-level validation of fusion scores before running full corpus ranking. Unlike corpus-level ranking, alpha is NOT auto-calibrated for a single pair -- the real logic requires a fixed alpha (default 0.5); pass alpha explicitly for a specific blend. Do NOT use in a loop to score many pairs; batch them into rank_items_by_nmi_cosine_fusion instead. Requires an x402 payment.
| Name | Required | Description | Default |
|---|---|---|---|
| alpha | No | Fixed alpha weight for the cosine component in [0.0, 1.0], applied as-is -- not auto-calibrated. Default 0.5 matches the core service default. | |
| n_bins | No | Histogram bins for NMI discretization. Must be between 3 and 50. | |
| vector_a | Yes | First dense numeric vector of the pair. Must have the same dimensionality as vector_b. | |
| vector_b | Yes | Second dense numeric vector of the pair. Must have the same dimensionality as vector_a. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adds important behavioral context: exactly one pair, fixed alpha, no auto-calibration, and an x402 payment requirement. It does not state the response format or whether repeated calls are expensive/cached, but the key operational traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: what it does, when to use it, important behavioral caveats, when NOT to use it, and the payment requirement. Every sentence contributes useful information, and the most important scope limitation is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-annotated, no-output-schema tool, the description covers selection context, invocation semantics, and cost/auth requirements well. The main gap is the exact form of the return value, but the phrase 'computes the NMI-cosine fusion score' gives sufficient high-level output understanding for most agent workflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters with meaningful descriptions. The description reinforces the alpha/n_bins behavior but largely repeats what the schema already says, such as 'applied as-is -- not auto-calibrated' and the default value 0.5. There is no significant new parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: it computes the NMI-cosine fusion score for exactly one (query, target) vector pair at a fixed alpha. It also distinguishes itself from the sibling corpus-level ranking tool by explicitly targeting explainability, debugging, and unit-level validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use guidance, explicitly says when NOT to use it ('Do NOT use in a loop'), and names the batch alternative: rank_items_by_nmi_cosine_fusion. It also clarifies that alpha is not auto-calibrated for a single pair, which is a key condition for correct use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
nexus_similarity_search_api_estimate_corpus_entropy_profile2 fields changed- removed
Input schema / properties / api_keyRemoved value: -{ - "description": "API key required for this paid operation -- same secret configured as X-API-Key on the REST endpoints (SIMILARITY_API_KEY). Payment (x402) alone is not sufficient; both gates must pass.", - "title": "Api Key", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "corpus_vectors", - "api_key" -]New value: +[ + "corpus_vectors" +]
- Changed
nexus_similarity_search_api_rank_items_by_nmi_cosine_fusion2 fields changed- removed
Input schema / properties / api_keyRemoved value: -{ - "description": "API key required for this paid operation -- same secret configured as X-API-Key on the REST endpoints (SIMILARITY_API_KEY). Payment (x402) alone is not sufficient; both gates must pass.", - "title": "Api Key", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "query_vector", - "corpus_vectors", - "api_key" -]New value: +[ + "query_vector", + "corpus_vectors" +]
- Changed
nexus_similarity_search_api_score_pair_nmi_cosine2 fields changed- removed
Input schema / properties / api_keyRemoved value: -{ - "description": "API key required for this paid operation -- same secret configured as X-API-Key on the REST endpoints (SIMILARITY_API_KEY). Payment (x402) alone is not sufficient; both gates must pass.", - "title": "Api Key", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "vector_a", - "vector_b", - "api_key" -]New value: +[ + "vector_a", + "vector_b" +]
3 tool updates
- Changed
nexus_similarity_search_api_estimate_corpus_entropy_profile1 field changed- changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "title": "estimate_corpus_entropy_profileDictOutput", - "type": "object" -}New value: +null
- Changed
nexus_similarity_search_api_rank_items_by_nmi_cosine_fusion1 field changed- changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "title": "rank_items_by_nmi_cosine_fusionDictOutput", - "type": "object" -}New value: +null
- Changed
nexus_similarity_search_api_score_pair_nmi_cosine1 field changed- changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "title": "score_pair_nmi_cosineDictOutput", - "type": "object" -}New value: +null
3 tool updates
- Changed
nexus_similarity_search_api_estimate_corpus_entropy_profile1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "title": "estimate_corpus_entropy_profileDictOutput", + "type": "object" +}
- Changed
nexus_similarity_search_api_rank_items_by_nmi_cosine_fusion1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "title": "rank_items_by_nmi_cosine_fusionDictOutput", + "type": "object" +}
- Changed
nexus_similarity_search_api_score_pair_nmi_cosine1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "title": "score_pair_nmi_cosineDictOutput", + "type": "object" +}
3 tool updates
- First observed
nexus_similarity_search_api_estimate_corpus_entropy_profile - First observed
nexus_similarity_search_api_rank_items_by_nmi_cosine_fusion - First observed
nexus_similarity_search_api_score_pair_nmi_cosine
Related MCP Connectors
Authenticated Multi-LLM Agent
KYA agent identity verification and trust scoring for autonomous A2A networks
Zero-knowledge attestation for agent capability and trust score claims
Agentic identity trust: precision decisioning, cryptographic release tokens, hash-chained proof
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMulti-agent memory intelligence with expertise tracking and conflict detection37 npm1MIT
- AlicenseBqualityAmaintenanceProvider-neutral Vision MCP Server — image analysis via 10 inference providers through a single MCP server.325 npmMIT
- AlicenseAqualityCmaintenanceA Local Computer Vision Engine for Photo Libraries85MIT
- FlicenseNot gradedqualityBmaintenanceEnables detecting LLM hallucinations and confabulations by clustering sampled responses into semantic equivalence classes and computing semantic entropy.8-
Glama MCP Gateway
Add one secure layer between your agents and this server.