Skip to main content
Glama
jaspertvdm

mcp-server-jis

by jaspertvdm

mcp-server-jis

PyPI License: MIT

The Intent-Centric Web: MCP Server for jis: bilateral intent identity.

"The web was built for documents. Then it evolved for applications. Now it must evolve for intent — where every interaction begins with 'why'."

Part of the HumoticaOS ecosystem.

What is jis:?

jis: is the first DID (Decentralized Identifier) method implementing bilateral intent verification. Unlike traditional identity systems where anyone can look up your information, jis: requires mutual consent before any identity exchange.

Traditional DID:

Requester → resolve(did:web:example.com) → DID Document
Anyone can resolve. No consent needed.

jis:

Requester → intent request → Subject accepts → DID Document
No resolution without mutual consent.

📄 Full Specification: DOI: 10.5281/zenodo.18374703

Related MCP server: Agent Identity MCP Server

Installation

pip install mcp-server-jis

Usage

With Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "jis": {
      "command": "mcp-server-jis",
      "env": {
        "JIS_IDENTITY": "jis:yourdomain.com:your-id",
        "JIS_SECRET": "your-signing-secret"
      }
    }
  }
}

Environment Variables

Variable

Required

Description

JIS_IDENTITY

No

Your jis: identifier

JIS_SECRET

No

Your signing secret for proofs

HUMOTICA_JIS_ENDPOINT

No

Custom JIS endpoint (default: humotica.com)

Available Tools

jis_whoami

Show your current JIS identity configuration.

jis_verify

Verify a jis: identifier and get public information.

jis_verify jis:humotica.com:jasper

jis_request_intent

Request bilateral intent from a jis: identity. The core of the Intent-Centric Web.

jis_request_intent
  target: jis:humotica.com:jasper
  purpose: authentication
  reason: "Login to my application"

jis_send_verified

Send a JIS-verified message with bilateral intent confirmation.

ask_humotica

Ask a verified question to Humotica about TIBET, JIS, or the Intent-Centric Web.

ask_humotica "What is bilateral intent?"

jis_trust_score

Get the trust score for a jis: identity based on TIBET audit history.

jis_spec

Get information about the jis: specification sections.

Example Session

User: Verify the Humotica founder's identity

Available Tools

7 tools
ask_humoticaB

Ask a verified question to Humotica. Uses JIS bilateral intent to ensure authentic response. Great for asking about TIBET, JIS, the Intent-Centric Web, or HumoticaOS.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesYour question for Humotica
contextNoOptional context about why you're asking

TDQS

B3.3/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 mentions 'JIS bilateral intent' but does not disclose behavioral traits such as side effects, authentication requirements, or rate limits. This is insufficient for an agent to fully understand the tool's behavior.

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, front-loading the action and purpose. Every sentence adds value with no redundancy.

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 low complexity, no output schema, and sibling tools, the description provides adequate context about topics but lacks details on return values or expected outcomes, making it minimally viable.

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 baseline is 3. The description adds context about the question being 'verified' but does not provide additional meaning beyond the schema for the parameters.

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 ('Ask a verified question') and the target ('Humotica'), along with example topics. It distinguishes from sibling tools, which are more about JIS protocol operations, making the purpose clear.

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 suggests when to use it ('Great for asking about TIBET, JIS, the Intent-Centric Web, or HumoticaOS') but does not specify when not to use it or mention alternatives, leaving usage guidance implicit.

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

jis_request_intentB

Request bilateral intent from a jis: identity. This is the core of the Intent-Centric Web - no interaction without mutual consent.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesTarget jis: identifier (e.g., jis:humotica.com:jasper)
purposeYesPurpose of the intent request
reasonNoHuman-readable reason for the request

TDQS

B3.2/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 'bilateral intent' and 'mutual consent' but does not explain what happens after the request (e.g., whether approval is needed, side effects, or authorization requirements). The behavioral implications are underspecified.

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 with two short sentences, but it could be more focused by placing the key action ('Request bilateral intent') first. It avoids redundancies and is reasonably efficient.

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 schema covers all parameters and no output schema exists, the description minimally explains the tool's purpose. However, it lacks details on expected behavior, error cases, or relationship to sibling tools, leaving gaps for a core interaction tool.

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 input schema provides 100% coverage of parameter descriptions, including enum for 'purpose'. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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 action ('request bilateral intent') and the target ('from a jis: identity'), with a specific verb and resource. It also provides philosophical context about mutual consent, distinguishing it from sibling tools like jis_verify or jis_whoami, which serve different purposes.

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 lacks explicit guidance on when to use this tool versus alternatives. While it implies that this is a prerequisite for interaction ('no interaction without mutual consent'), it does not specify scenarios, prerequisites, or exclusions, leaving the AI agent to infer usage context.

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

jis_send_verifiedA

Send a JIS-verified message. Requires bilateral intent acceptance first.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient jis: identifier
messageYesMessage content to send
purposeNoPurpose of the messagecommunication

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the action and a prerequisite, but fails to explain what 'verified' entails, potential side effects, error conditions, or asynchronous behavior. This is a significant gap for a tool that performs a secured operation.

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, both front-loaded. Every sentence provides necessary information without any extraneous text.

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 that there is no output schema, the description should compensate by explaining what the tool returns or error behaviors. It does not mention return values, success indicators, or failure modes. The prerequisite is mentioned but overall completeness is low for a tool with several siblings and a sensitive operation.

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 baseline is 3. The description does not add any additional meaning beyond the schema for parameters 'to', 'message', or 'purpose' (which has a default). No extra context is provided for values or constraints.

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 'Send a JIS-verified message' with a specific verb and resource, and it distinguishes from sibling tools like 'jis_request_intent' by noting the prerequisite of bilateral intent acceptance, which implies a specific sequence.

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 explicitly states a precondition: 'Requires bilateral intent acceptance first.' This guides the agent to use this tool only after intent is established, though it does not explicitly list when not to use it or mention alternative tools.

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

jis_specA

Get information about the jis: specification - The Intent-Centric Web.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNoOptional: specific section to retrieve

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must fully convey behavior. It only states it's a read operation ('Get information'), but lacks details on rate limits, authentication needs, or what the response structure looks like.

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?

A single, well-front-loaded sentence that efficiently communicates the tool's purpose without unnecessary words.

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

Completeness4/5

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

For a simple info tool with one optional parameter, the description is largely sufficient. However, it omits what the output format is (e.g., plain text, JSON), which could be helpful.

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 coverage is 100% with the optional 'section' parameter clearly described. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

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 verb 'Get information' and the resource 'jis: specification', distinguishing it from sibling tools that handle actions like intents, verification, or trust scores.

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?

Usage is implied: use this tool when you need specification details. However, no explicit when-to-use or when-not-to-use guidance is provided, and alternatives among siblings are not mentioned.

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

jis_trust_scoreB

Get the trust score for a jis: identity based on TIBET audit history.

ParametersJSON Schema
NameRequiredDescriptionDefault
didYesThe jis: identifier to check

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description is the sole source of behavioral information, but it only states the basic function without disclosing any behavioral traits (e.g., read-only nature, error conditions, score range, or potential side effects).

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 sentence that efficiently conveys the core purpose, with no redundant information or unnecessary detail.

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 simplicity of the tool (1 required parameter, no output schema), the description is adequate but lacks details about the trust score range, format, or potential errors, which would be helpful for an AI agent.

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 coverage is 100% with the 'did' parameter described as 'The jis: identifier to check'. The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.

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 verb 'Get', the resource 'trust score', and the context 'for a jis: identity based on TIBET audit history', making the purpose specific and distinguishable from sibling tools like jis_verify or jis_whoami.

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, such as jis_verify or jis_whoami, and does not 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.

jis_verifyA

Verify a jis: identifier. Check if it's valid and get public information about the identity.

ParametersJSON Schema
NameRequiredDescriptionDefault
didYesThe jis: identifier to verify (e.g., jis:humotica.com:jasper)

TDQS

A3.9/5.0
Behavior3/5

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 indicates a read-only operation (verify, get info) with no side effects stated. However, it lacks details on authorization, rate limits, or what 'public information' specifically entails.

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 conveys everything needed without extra words. It is front-loaded and efficient.

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

Completeness5/5

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

For a simple tool with one parameter and no output schema, the description covers the purpose and input sufficiently. It does not need to explain output structure since none is defined.

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% and the parameter 'did' is well described with an example. The description adds no extra semantic beyond the schema; it only states the tool's purpose. Baseline 3 is appropriate.

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 action ('Verify'), the resource ('jis: identifier'), and the outcomes ('check if valid and get public information'). It effectively distinguishes from siblings like jis_spec or jis_request_intent by emphasizing verification.

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 verifying identifiers but does not explicitly state when to use or not use this tool versus siblings like jis_trust_score or jis_whoami. No exclusions or alternatives are mentioned, providing only implicit context.

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

jis_whoamiA

Show your current JIS identity (jis:). If not configured, shows how to set one up.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description fully carries the behavioral transparency burden. It clearly states the tool shows identity or setup instructions, but does not detail the output format or side effects.

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 sentences, front-loaded with the primary purpose, and concise without any redundant information.

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

Completeness5/5

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

For a simple tool with no output schema, the description covers both the primary action and the fallback case, making it complete for an agent to understand its functionality.

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

Parameters4/5

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

The tool has no parameters, so baseline is 4. The description does not need to add parameter info, and it correctly avoids mentioning parameters.

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 specifies the verb 'Show' and resource 'current JIS identity', clearly distinguishing it from siblings like 'jis_request_intent'. It also covers the fallback behavior if not configured.

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 does not explicitly state when to use this tool versus alternatives, but it implies its use for checking one's JIS identity. No exclusions or comparisons with siblings are provided.

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. Dates show when Glama detected each change.

  1. 7 tool updatesv1.0.0
    • First observedask_humotica
    • First observedjis_request_intent
    • First observedjis_send_verified
    • First observedjis_spec
    • First observedjis_trust_score
    • First observedjis_verify
    • First observedjis_whoami

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: asking questions, requesting intent, sending verified messages, getting spec info, checking trust scores, verifying identifiers, and showing current identity. No functional overlap exists.

Naming Consistency4/5

Most tools follow a 'jis_verb' pattern (e.g., jis_request_intent, jis_verify), with one exception: ask_humotica uses 'ask_'. This minor inconsistency is tolerable as both patterns are clear and descriptive.

Tool Count5/5

Seven tools is well-scoped for the JIS/Humotica domain, covering identity management, intent handling, verified messaging, trust analysis, and specification lookup without excess or deficiency.

Completeness4/5

The tool set covers core operations: identity verification, trust scoring, intent negotiation, verified messaging, and general inquiry. A minor gap is the lack of an explicit 'create identity' tool, but jis_whoami addresses setup implicitly.

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

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for AI agent identity — verify agents with Ed25519 signatures, check trust scores, sign and verify content, exchange encrypted messages. Built on the Agent Identity Protocol (AIP).
    8
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for AI agent trust verification, enabling agents to verify identities, check trust scores, and build reputation across multiple blockchain and web platforms.
    12
    24
    1
    MIT

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/jaspertvdm/mcp-server-jis'

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