Skip to main content
Glama
AlyssonM

HiveAuth MCP Server

by AlyssonM

HiveAuth MCP Server

A Model Context Protocol (MCP) server that provides tools for verifiable credential operations using the HiveAuth ecosystem. This server exposes HiveAuth's credential management capabilities to LLM applications via the standardized MCP interface.

Overview

The HiveAuth MCP Server provides these tools to LLM applications:

  • Issue Credential: Create new verifiable credentials with HiveAuth

  • Verify Credential: Verify individual credentials for authenticity and status

  • Verify Presentation: Verify complete presentations containing multiple credentials

  • Revoke Credential: Revoke credentials using status lists

  • Create Presentation Definition: Build DIF Presentation Exchange definitions

  • Evaluate Presentation: Test credentials against presentation definitions

Related MCP server: Agentforce MCP Integration Server

Installation

cd hiveauth-mcp
npm install

Configuration

Copy the example environment file and configure:

cp .env.example .env

Key environment variables:

Usage

As an MCP Server

The server is designed to be used with MCP-compatible clients (like Claude Desktop, IDEs with MCP support, etc.):

# Start the server
npm run dev

The server communicates via stdio and will be available for MCP clients to connect to.

Building for Production

npm run build
npm start

Available Tools

issue_credential

Issues a new verifiable credential using HiveAuth.

Parameters:

  • credentialSubject (object): The subject data for the credential

  • type (array): Credential types (e.g., ["VerifiableCredential", "EducationCredential"])

  • vcVersion (string, optional): VC Data Model version ("1.1" or "2.0", default: "2.0")

  • expirationDate (string, optional): ISO 8601 expiration date

verify_credential

Verifies a verifiable credential for authenticity and status.

Parameters:

  • credential (object): The verifiable credential to verify

verify_presentation

Verifies a verifiable presentation containing multiple credentials.

Parameters:

  • presentation (object): The verifiable presentation to verify

revoke_credential

Revokes a verifiable credential using status lists.

Parameters:

  • credentialId (string): The ID of the credential to revoke

  • statusListIndex (number): The status list index of the credential

create_presentation_definition

Creates a DIF Presentation Exchange definition for requesting specific credentials.

Parameters:

  • id (string): Unique identifier for the presentation definition

  • name (string, optional): Human-readable name

  • purpose (string, optional): Purpose of the presentation request

  • inputDescriptors (array): Input descriptors defining what credentials are requested

evaluate_presentation

Evaluates credentials against a presentation definition using DIF PEX.

Parameters:

  • presentationDefinition (object): The presentation definition to evaluate against

  • credentials (array): Array of credentials to evaluate

Integration with LLM Applications

This MCP server allows LLM applications to:

  1. Issue credentials on behalf of users: Create education, employment, or other types of credentials

  2. Verify credentials in real-time: Check authenticity and revocation status

  3. Build presentation requests: Create complex credential requirements using DIF PEX

  4. Evaluate credential compliance: Test if available credentials meet specific requirements

  5. Manage credential lifecycle: Handle revocation and status updates

Example Usage in Claude Desktop

Add this server to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "hiveauth": {
      "command": "node",
      "args": ["/path/to/hiveauth-mcp/dist/index.js"],
      "env": {
        "HIVEAUTH_API_BASE_URL": "http://localhost:3000"
      }
    }
  }
}

Then you can ask Claude to:

  • "Issue a university degree credential for John Smith with Computer Science major"

  • "Verify this credential for authenticity"

  • "Create a presentation definition requesting employment credentials"

  • "Check if these credentials satisfy the job application requirements"

Architecture

  • MCP SDK: Built on the official Model Context Protocol TypeScript SDK

  • HiveAuth Integration: Calls HiveAuth API endpoints for all credential operations

  • Tool-based Interface: Exposes functionality as discrete, composable tools

  • Standards Compliance: Supports W3C VC Data Model 1.1/2.0 and DIF Presentation Exchange

Development Status

This implementation includes:

  • ✅ Complete MCP server with stdio transport

  • ✅ All core HiveAuth credential operations as tools

  • ✅ W3C VC 1.1 and 2.0 support

  • ✅ DIF Presentation Exchange Protocol integration

  • ✅ Comprehensive error handling and validation

  • ✅ Production-ready TypeScript implementation

  • 🚧 HTTP transport support

  • 🚧 Authentication/authorization mechanisms

  • 🚧 Tool input validation with Zod schemas

Available Tools

13 tools
batch_issue_credentialsB

Issue multiple verifiable credentials in parallel or sequentially. Supports up to 50 credentials per batch with comprehensive error handling and performance metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
credentialsYes
parallelNoWhether to process credentials in parallel

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'comprehensive error handling and performance metrics,' which adds some context about outputs and robustness. However, it doesn't disclose critical behavioral traits such as whether this is a read-only or destructive operation, authentication requirements, rate limits, or what happens on partial failures. For a batch mutation tool, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose and includes key constraints. Every phrase ('issue multiple verifiable credentials,' 'parallel or sequentially,' 'up to 50 credentials,' 'error handling and performance metrics') adds value without redundancy. It could be slightly more structured but is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (batch mutation with up to 50 items), lack of annotations, and no output schema, the description is incomplete. It mentions error handling and performance metrics but doesn't describe the return format, success/failure semantics, or authentication needs. For a tool that modifies data in bulk, this leaves the agent with insufficient context to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with the 'credentials' parameter well-documented in the schema but 'parallel' only having a basic description. The description adds value by specifying 'up to 50 credentials per batch,' which clarifies the maxItems constraint, and mentions parallel/sequential processing, hinting at the 'parallel' parameter's purpose. However, it doesn't fully compensate for the schema's coverage gap, as it doesn't explain parameter interactions or provide examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Issue multiple verifiable credentials in parallel or sequentially.' It specifies the verb ('issue'), resource ('verifiable credentials'), and scope ('multiple'), distinguishing it from the sibling 'issue_credential' which presumably handles single credentials. However, it doesn't explicitly contrast with other credential-related siblings like 'derive_credential' or 'refresh_credential'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by mentioning 'parallel or sequentially' and 'up to 50 credentials per batch,' suggesting this tool is for bulk operations. However, it doesn't provide explicit guidance on when to use this versus the single 'issue_credential' tool or other alternatives like 'derive_credential,' nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_verify_credentialsA

Verify multiple verifiable credentials efficiently. Supports parallel processing, early termination on errors, and detailed verification statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
credentialsYes
parallelNoWhether to process credentials in parallel
stopOnFirstErrorNoWhether to stop verification on first error

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: 'parallel processing' (performance characteristic), 'early termination on errors' (error handling), and 'detailed verification statistics' (output behavior). This goes beyond the input schema by explaining how the tool operates and what results to expect, though it doesn't cover aspects like rate limits or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently communicates the tool's purpose and key features. Every phrase ('Verify multiple verifiable credentials efficiently,' 'Supports parallel processing,' 'early termination on errors,' 'detailed verification statistics') adds value without redundancy. It's front-loaded with the core purpose and follows with supporting details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, no annotations, and no output schema, the description provides a good overview of behavior and purpose. However, it lacks details on output format (beyond 'statistics'), error handling specifics, or integration with sibling tools. Given the complexity of credential verification and the absence of structured metadata, the description is adequate but leaves gaps an agent might need to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (2 out of 3 parameters have descriptions). The description doesn't add any parameter-specific information beyond what's in the schema. It mentions general features like 'parallel processing' and 'early termination on errors,' which align with the 'parallel' and 'stopOnFirstError' parameters but don't provide additional semantic context. Given the moderate schema coverage, the description doesn't compensate for gaps but doesn't detract either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Verify multiple verifiable credentials efficiently.' It specifies the verb ('verify'), resource ('verifiable credentials'), and scope ('multiple'). However, it doesn't explicitly distinguish this batch operation from the sibling 'verify_credential' tool, which appears to handle single credentials.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through 'efficiently' and mentions features like 'parallel processing' and 'early termination on errors,' which suggest when batch processing is advantageous. However, it doesn't provide explicit guidance on when to use this tool versus the 'verify_credential' sibling or other verification-related tools, nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_presentation_definitionC

Create a DIF Presentation Exchange v2.0 definition for requesting specific credentials. Defines input descriptors and constraints for credential selection.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
purposeNo
inputDescriptorsYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a creation tool but doesn't describe what happens after creation (e.g., where definitions are stored, whether they're persisted, permissions required, or error conditions). For a tool with complex parameters and no annotations, this is a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two sentences that efficiently convey the core purpose. It's front-loaded with the main action and avoids unnecessary elaboration. Every sentence contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 4 parameters (2 required), nested objects, 0% schema description coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain parameter meanings, expected outputs, error handling, or behavioral implications. The agent lacks sufficient context to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but only mentions 'input descriptors and constraints' generically. It doesn't explain the purpose or relationships of the 4 parameters (id, name, purpose, inputDescriptors) or their nested structures. The description adds minimal value beyond what's inferable from parameter names in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a DIF Presentation Exchange v2.0 definition for requesting specific credentials, specifying both the verb ('Create') and resource ('definition'). It distinguishes from siblings by focusing on definition creation rather than credential operations like issue/verify/revoke, though it doesn't explicitly contrast with 'validate_presentation_definition' which validates rather than creates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or contrast with sibling tools like 'validate_presentation_definition' or 'generate_presentation_request'. The agent must infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

derive_credentialC

Derive credentials with selective disclosure using JSON-LD frames. Supports credential chaining and zero-knowledge proofs for privacy-preserving presentations.

ParametersJSON Schema
NameRequiredDescriptionDefault
originalCredentialYesW3C Verifiable Credential
frameYesJSON-LD frame for selective disclosure
nonceNoNonce for derived proof

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'selective disclosure', 'credential chaining', and 'zero-knowledge proofs', which give some context about privacy and transformation behaviors. However, it lacks critical details such as whether this is a read-only or mutative operation, what permissions are required, how errors are handled, or what the output format looks like (especially since there's 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently communicates the core purpose and key features without any wasted words. It front-loads the main action ('derive credentials') and follows with supporting details, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of credential derivation with JSON-LD frames and proofs, the description is insufficient. There are no annotations to clarify safety or behavior, no output schema to describe results, and the description lacks details on error conditions, performance implications, or example use cases. For a tool with 3 parameters (including nested objects) and advanced cryptographic features, more context is needed for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for 'originalCredential' as 'W3C Verifiable Credential', 'frame' as 'JSON-LD frame for selective disclosure', and 'nonce' as 'Nonce for derived proof'. The description adds value by explaining that these parameters are used for 'selective disclosure' and 'privacy-preserving presentations', providing context beyond the schema. However, it doesn't detail how the frame interacts with the credential or the role of the nonce in proofs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'derive' and resource 'credentials', specifying the mechanism 'with selective disclosure using JSON-LD frames'. It distinguishes from siblings like 'issue_credential' or 'verify_credential' by focusing on derivation rather than creation or verification. However, it doesn't explicitly contrast with 'refresh_credential' or 'create_presentation_definition', which might have overlapping privacy-preserving aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'supports credential chaining and zero-knowledge proofs for privacy-preserving presentations', which implies usage for privacy-focused scenarios, but provides no explicit guidance on when to use this tool versus alternatives like 'create_presentation_definition' or 'submit_presentation'. There's no mention of prerequisites, exclusions, or specific contexts where this tool is preferred over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_presentationC

Evaluate credentials against a presentation definition using DIF Presentation Exchange Protocol. Tests credential compliance and matching.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentationDefinitionYesDIF PEX Presentation Definition
credentialsYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It states the tool 'tests credential compliance and matching,' which implies a read-only validation operation, but doesn't clarify whether this is a pure check or has side effects, what permissions are required, what happens with invalid credentials, or what the output format is. For a tool with complex nested parameters and no annotations, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences that directly state the tool's function and protocol. Every word earns its place, with no redundant information. It's front-loaded with the core purpose, making it easy to scan and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (2 nested parameters, 50% schema coverage, no annotations, no output schema), the description is insufficient. It doesn't explain what the tool returns, error conditions, or how results should be interpreted. For a validation/evaluation tool in a domain with many sibling tools, more context is needed to guide proper usage and integration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with two complex nested parameters. The description mentions 'credentials' and 'presentation definition' but adds minimal semantic context beyond the schema's property names. It doesn't explain what constitutes valid inputs, the relationship between these parameters, or typical use cases. The baseline is 3 because the schema provides some documentation, but the description doesn't compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Evaluate credentials against a presentation definition using DIF Presentation Exchange Protocol. Tests credential compliance and matching.' It specifies the action (evaluate/test), resources (credentials and presentation definition), and protocol (DIF PEX). However, it doesn't explicitly distinguish this tool from sibling tools like 'validate_presentation_definition' or 'verify_presentation', which likely involve similar concepts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools related to credentials and presentations (e.g., 'validate_presentation_definition', 'verify_presentation', 'submit_presentation'), there's no indication of this tool's specific context or prerequisites. The description mentions the protocol but doesn't explain when this evaluation step fits in a workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_presentation_requestC

Generate complete presentation request flows with DIF PEX v2.0 definitions. Creates wallet-ready requests with security features, human-readable instructions, and multiple format support.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentationDefinitionYesDIF PEX Presentation Definition
verifierDidNoDID of the verifier requesting the presentation
callbackUrlNoURL where presentation should be submitted
challengeNoChallenge nonce for presentation security
domainNoDomain for presentation binding
expiresInNoRequest expiration time in seconds (1 minute to 24 hours)
requestFormatNoFormat for the presentation requestjson
includeInstructionsNoWhether to include human-readable instructions

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'security features' and 'human-readable instructions,' but lacks details on permissions, side effects, rate limits, or error handling. For a tool that generates requests (likely involving data processing), this is insufficient to inform the agent about operational risks or requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the core functionality. It front-loads the main action ('Generate complete presentation request flows') and lists key features without redundancy. However, it could be slightly more concise by integrating the features more seamlessly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters, nested objects, no output schema, and no annotations), the description is inadequate. It doesn't explain what the tool returns, how errors are handled, or the implications of generating 'wallet-ready requests.' For a tool with significant input complexity and no structured behavioral hints, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 8 parameters. The description adds minimal value beyond the schema, mentioning 'DIF PEX v2.0 definitions' and 'multiple format support,' which loosely relate to parameters like 'presentationDefinition' and 'requestFormat.' This meets the baseline for high schema coverage but doesn't provide additional semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate complete presentation request flows with DIF PEX v2.0 definitions.' It specifies the verb ('generate'), resource ('presentation request flows'), and technical standard ('DIF PEX v2.0'). However, it doesn't explicitly differentiate from sibling tools like 'create_presentation_definition' or 'submit_presentation,' which reduces it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions features like 'wallet-ready requests' and 'multiple format support,' but doesn't specify prerequisites, use cases, or contrast with sibling tools such as 'create_presentation_definition' or 'submit_presentation.' This leaves the agent without clear direction on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

issue_credentialC

Issue a new verifiable credential using HiveAuth. Supports both W3C VC Data Model 1.1 and 2.0 formats with comprehensive validation.

ParametersJSON Schema
NameRequiredDescriptionDefault
credentialSubjectYesCredential subject data
typeYesArray of credential types (e.g., ["VerifiableCredential", "EducationCredential"])
vcVersionNoW3C VC Data Model version2.0
expirationDateNoISO 8601 date string
validUntilNoISO 8601 date string
contextNoAdditional JSON-LD contexts
issuerNoCustom issuer DID or object

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral information. It mentions 'comprehensive validation' but doesn't specify what that entails (e.g., schema validation, issuer verification, or cryptographic checks). It lacks details on permissions required, rate limits, whether the operation is idempotent, or what happens on failure. For a mutation tool with zero annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary words and gets straight to the point. However, it could be slightly more structured by separating format support from validation claims for better readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex mutation tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns (e.g., a signed credential object, a credential ID, or status), error handling, authentication requirements, or how it differs from sibling tools. The mention of 'comprehensive validation' is vague and doesn't compensate for the missing contextual details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter-specific information beyond what's already in the schema (which has 100% coverage). It mentions 'W3C VC Data Model 1.1 and 2.0 formats' which relates to the 'vcVersion' parameter, but this is already covered by the schema's enum and description. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('issue a new verifiable credential') and the resource ('using HiveAuth'), with specific mention of supported formats (W3C VC Data Model 1.1 and 2.0). However, it doesn't explicitly differentiate from sibling tools like 'batch_issue_credentials' or 'derive_credential', which would be needed for a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'batch_issue_credentials' for multiple credentials, 'derive_credential' for derived credentials, or 'refresh_credential' for updates. There's also no information about prerequisites, authentication needs, or error conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_credentialB

Refresh expiring or expired credentials using W3C Credential Refresh specification. Supports automatic service discovery and credential lifecycle management.

ParametersJSON Schema
NameRequiredDescriptionDefault
credentialIdYes
refreshServiceNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'automatic service discovery' and 'credential lifecycle management,' which adds some context about how the tool operates. However, it fails to disclose critical behavioral traits such as whether this is a read-only or mutating operation, potential side effects (e.g., credential updates), authentication needs, rate limits, or error handling. This is a significant gap for a tool that likely modifies credential states.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: two concise sentences that directly state the tool's purpose and key features. Every sentence earns its place by providing essential information without redundancy or fluff, making it easy to scan and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (credential refresh with potential side effects), no annotations, no output schema, and 0% schema coverage, the description is incomplete. It lacks details on parameters, behavioral traits (e.g., mutation effects), return values, and explicit differentiation from siblings. For a tool that likely involves credential state changes, this leaves too many gaps for reliable agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It does not mention any parameters or their meanings (e.g., 'credentialId' or 'refreshService'), leaving both parameters unexplained. The description adds no value beyond the schema, failing to clarify what inputs are needed or how they relate to the tool's purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Refresh expiring or expired credentials' using a specific specification (W3C Credential Refresh). It includes a verb ('Refresh') and resource ('credentials'), and distinguishes from siblings like 'issue_credential' or 'revoke_credential' by focusing on renewal rather than creation or revocation. However, it doesn't explicitly contrast with all siblings (e.g., 'derive_credential' might overlap in lifecycle management).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('expiring or expired credentials') and mentions 'automatic service discovery and credential lifecycle management,' which suggests when to use it—for maintaining valid credentials. However, it lacks explicit guidance on when not to use it (e.g., vs. 'issue_credential' for new credentials) or named alternatives, leaving some ambiguity compared to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

revoke_credentialC

Revoke a verifiable credential using W3C Status List 2021 specification. Updates the credential status in the bitstring status list.

ParametersJSON Schema
NameRequiredDescriptionDefault
credentialIdYes
statusListIndexYes
reasonNoReason for revocation

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the technical method (W3C Status List 2021) and that it updates a status list, which implies mutation. However, it lacks critical behavioral details: whether revocation is permanent/reversible, permission requirements, rate limits, error handling, or what happens to the credential post-revocation. The description is insufficient for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with zero waste. It front-loads the core action and technical specification, efficiently conveying essential information without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of credential revocation (a mutation operation), no annotations, no output schema, and low schema description coverage (33%), the description is incomplete. It lacks details on behavioral implications, parameter meanings, return values, and integration with sibling tools, making it inadequate for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 33% (only 'reason' has a description). The description adds no parameter-specific semantics beyond what the schema provides—it doesn't explain what 'credentialId' or 'statusListIndex' represent, their formats, or how they relate to the revocation process. With low coverage, the description fails to compensate, but the baseline is 3 as it doesn't mislead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('revoke') and resource ('verifiable credential'), specifying the technical method ('using W3C Status List 2021 specification') and outcome ('updates the credential status in the bitstring status list'). It distinguishes from siblings like 'refresh_credential' or 'verify_credential' by focusing on revocation, but doesn't explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives is provided. The description implies it's for revoking credentials, but doesn't mention prerequisites, when not to use it, or how it relates to siblings like 'batch_issue_credentials' or 'verify_credential' in a workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_presentationC

Create and submit verifiable presentations from evaluation results. Builds presentations that satisfy DIF PEX v2.0 requirements with holder binding and proof generation.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentationDefinitionYesDIF PEX Presentation Definition
credentialsYes
holderDidNoDID of the presentation holder
challengeNoChallenge for the presentation proof
domainNoDomain for the presentation proof

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'holder binding and proof generation', which hints at security features, but doesn't describe what the tool actually does (e.g., whether it returns a presentation object, makes an API call, or stores data), error conditions, rate limits, or side effects. For a complex tool with 5 parameters, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences) and front-loaded with the core purpose. Every sentence contributes meaning: the first states what the tool does, and the second adds technical context. There's no wasted verbiage, though it could be slightly more structured for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, nested objects, no output schema, and no annotations), the description is incomplete. It doesn't explain what the tool returns, error handling, or how parameters like 'challenge' and 'domain' interact with 'holder binding and proof generation'. For a tool that likely produces cryptographic outputs, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80%, so the schema already documents most parameters well. The description adds minimal value beyond the schema—it mentions 'evaluation results' which might relate to 'credentials', and 'DIF PEX v2.0 requirements' which maps to 'presentationDefinition', but doesn't explain parameter interactions or provide usage examples. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Create and submit verifiable presentations from evaluation results.' It specifies the action (create and submit) and resource (presentations), and mentions compliance with DIF PEX v2.0. However, it doesn't explicitly differentiate from siblings like 'create_presentation_definition' or 'evaluate_presentation', which is why it doesn't achieve a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions building presentations that satisfy DIF PEX v2.0 requirements, but doesn't specify prerequisites, exclusions, or compare it to related tools like 'evaluate_presentation' or 'verify_presentation'. This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_presentation_definitionA

Validate presentation definitions against DIF PEX v2.0 specification. Performs comprehensive compliance checking, best practices validation, and provides improvement recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentationDefinitionYesDIF PEX Presentation Definition
strictNoWhether to perform strict DIF PEX v2.0 validation
checkSchemasNoWhether to validate referenced credential schemas

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the tool performs validation and provides recommendations, but lacks details on behavioral traits like error handling, performance characteristics, authentication requirements, or rate limits. For a validation tool with complex input, more operational context would be helpful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with two sentences that each earn their place. The first sentence states the core purpose, and the second elaborates on the validation scope. No wasted words, and information is front-loaded appropriately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters with nested objects) and lack of annotations/output schema, the description is adequate but has clear gaps. It explains what the tool does but doesn't provide enough context about how it behaves, what it returns, or how to interpret results. For a validation tool, more guidance on output format or error cases would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all three parameters. The description adds no parameter-specific information beyond what's in the schema, such as examples or usage notes for the complex presentationDefinition object. Baseline 3 is appropriate when the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('validate', 'performs') and resource ('presentation definitions'), distinguishing it from siblings like create_presentation_definition or evaluate_presentation. It specifies the standard (DIF PEX v2.0) and types of validation (compliance checking, best practices, improvement recommendations).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for validating presentation definitions against a specific standard, but does not explicitly state when to use this tool versus alternatives like evaluate_presentation or verify_presentation. No exclusions or prerequisites are mentioned, leaving the agent to infer context from the tool name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_credentialA

Verify a verifiable credential for authenticity, integrity, and revocation status. Checks signature, issuer validity, and status list compliance.

ParametersJSON Schema
NameRequiredDescriptionDefault
credentialYesThe verifiable credential to verify

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: the verification checks (signature, issuer validity, status list compliance) and the aspects verified (authenticity, integrity, revocation status). However, it lacks details on error handling, performance expectations, or specific constraints like rate limits or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and efficient, using two sentences that directly state the tool's purpose and specific checks without redundancy. Every sentence contributes essential information, making it appropriately sized for a single-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (verification with multiple checks), no annotations, and no output schema, the description is moderately complete. It covers what the tool does but lacks details on return values, error cases, or operational constraints, which are important for a verification tool with no structured output documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the 'credential' parameter well-documented in the schema. The description adds minimal value beyond the schema by implying the credential is the input for verification, but doesn't provide additional context on format expectations or usage nuances, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('verify', 'checks') and resources ('verifiable credential'), and distinguishes it from siblings by focusing on individual credential verification rather than batch operations (batch_verify_credentials), presentation handling (verify_presentation), or credential lifecycle actions (issue, revoke, refresh).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through 'verify... for authenticity, integrity, and revocation status,' suggesting it's for validation rather than creation or modification. However, it doesn't explicitly state when to use this versus alternatives like batch_verify_credentials for multiple credentials or verify_presentation for presentations, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_presentationC

Verify a verifiable presentation containing multiple credentials. Validates presentation signature, holder verification, and all included credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentationYesThe verifiable presentation to verify

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what gets validated but doesn't describe the verification process, success/failure conditions, error handling, or output format. For a verification tool with complex input and no output schema, this leaves significant gaps in understanding how the tool behaves and what results to expect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action and specifies the validation targets clearly, making every word earn its place. No structural issues or redundancy are present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a verification tool with complex nested input (presentation object with credentials) and no output schema, the description is insufficient. It doesn't explain what constitutes successful verification, what the output looks like, or how errors are handled. Given the technical nature of verifiable presentations and multiple sibling tools, more context is needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'presentation' having a clear description in the schema. The description adds no additional parameter information beyond what's already documented in the schema, so it meets the baseline for high schema coverage but doesn't provide extra value like format examples or validation nuances.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('verify') and resource ('verifiable presentation containing multiple credentials'), making the purpose unambiguous. It specifies what gets validated: presentation signature, holder verification, and all included credentials. However, it doesn't explicitly differentiate from sibling tools like 'verify_credential' or 'evaluate_presentation', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'verify_credential' (for single credentials) or 'evaluate_presentation' (which appears related). It doesn't mention prerequisites, such as needing a properly formatted presentation object, or when this verification is appropriate versus other validation tools in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific operations in the verifiable credentials domain, such as issuing, verifying, refreshing, revoking, and managing presentations. The descriptions highlight unique functions like batch processing, selective disclosure, and compliance validation, with no apparent overlap that would cause agent confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores, such as 'issue_credential', 'verify_credential', and 'create_presentation_definition'. This uniformity makes the tool set predictable and easy to navigate, supporting clear agent selection.

Tool Count5/5

With 13 tools, the server is well-scoped for its domain of verifiable credentials management, covering essential operations like issuance, verification, revocation, and presentation handling. Each tool earns its place by addressing a specific aspect of the workflow without redundancy or bloat.

Completeness5/5

The tool set provides comprehensive coverage of the verifiable credentials lifecycle, including CRUD-like operations (issue, verify, revoke, refresh) and advanced features like presentation definitions and evaluations. There are no obvious gaps, ensuring agents can handle end-to-end workflows without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlyssonM/hiveauth-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server