Skip to main content
Glama
jaspertvdm

mcp-server-jis

by jaspertvdm
README.md
# mcp-server-jis

[![PyPI](https://img.shields.io/pypi/v/mcp-server-jis.svg)](https://pypi.org/project/mcp-server-jis/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/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](https://humotica.com) 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](https://zenodo.org/records/18374703)

## Installation

```bash
pip install mcp-server-jis
```

## Usage

### With Claude Desktop

Add to your `claude_desktop_config.json`:

```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

TDQS

A3.7/5.0

Scored across 7 tools

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