# Sharpei MCP

> Sharpei connects identity verification and recurring payment logic to your backend systems. This MCP Server lets your AI client manage KYC workflows, list applications, view document details, and track subscription status for e-commerce platforms using direct tool calls.

## Overview
- **Category:** ecommerce
- **Price:** Free
- **Tags:** identity-verification, kyc, biometric-check, document-analysis, compliance-screening, subscription-management

## Description

**Sharpei MCP Server: Identity & Subscription Tools**

This server lets your AI client manage everything related to user identity compliance and billing cycles without needing a human in the loop. It hooks up directly with Sharpei, letting you run full KYC workflows right from your agent's tool calls.

**Identity Verification Workflow**

You gotta start by making sure the connection is good. You can run `check_sharpei_status` to confirm the API link is active before anything else. To kick things off for a new user, your agent uses `create_application`; this immediately generates an ID that tracks their compliance status.

To see what's going on with all your users, you can pull a quick summary list using `list_applications`. This function returns IDs and high-level status summaries for every application record. If you need the full scoop on one user's file, call `get_application` with their specific ID.

The verification process moves through stages, right? You track that progress by hitting up `get_verification_status`. That tells you if a submission is 'Pending,' 'Under Review,' or finally 'Approved.' 

**Document Management**

When documents are involved, your agent handles the file flow. To see every piece of paper attached to an application, use `get_documents` and pass in the relevant application ID; that returns a list of all submitted files. If you need to inspect one specific upload—maybe check its metadata or status—you call `get_document`, which gives you detailed info on a single file.

**Subscription and Billing Data**

For managing recurring payments, the server provides two key tools. You can get a rundown of all available plans and active accounts by running `list_subscriptions`. If you need specific details—like checking what plan one user is currently on or viewing account specifics—you use `get_subscription`.

**System Configuration**

Finally, your agent needs to know where Sharpei sends automated alerts. You can confirm data routing settings by using `list_webhooks`, which shows you all the webhook endpoints that are currently configured for status changes or other critical events.

## Tools

### check_sharpei_status
Confirms the API connection is active and ready for use.

### create_application
Starts a new identity verification application record.

### get_application
Retrieves all details for a specific user's verification application ID.

### get_document
Gets the metadata and status of one uploaded document file.

### get_documents
Lists all documents submitted under a given application ID.

### get_subscription
Retrieves current details for a specific subscription plan or user account.

### get_verification_status
Checks the live progress and status of a submitted verification application.

### list_applications
Fetches a list containing IDs and high-level status summaries for all user applications.

### list_subscriptions
Returns a list of available subscription plans and active accounts.

### list_webhooks
Lists the endpoints where Sharpei sends automated notifications on status changes or events.

## Prompt Examples

**Prompt:** 
```
List all verification applications.
```

**Response:** 
```
You have 15 applications: 8 approved, 4 pending, 3 under review. The most recent is APP-2891 (John D., submitted today).
```

**Prompt:** 
```
Check verification status for application APP-2891.
```

**Response:** 
```
Application APP-2891 is 'Under Review'. 2 of 3 documents verified successfully. Passport is pending manual review.
```

**Prompt:** 
```
Create a verification application for Jane Smith, jane@example.com.
```

**Response:** 
```
Application created! ID: APP-2892 for Jane Smith. Next step: the customer needs to upload identity documents.
```

## Capabilities

### Create User Verification Applications
Initiates a new identity verification application for a user, generating an immediate ID that tracks their compliance status.

### Check Document Status and Details
Lists all documents attached to an application or retrieves the specific details of one document upload for inspection.

### Track Verification Progress
Reads the current status of a verification process, noting if it's 'Pending,' 'Under Review,' or 'Approved.'

### Manage Subscription Data
Retrieves details about specific user subscription plans or lists all available subscription records.

### List and Inspect Webhooks
Shows which webhook endpoints are currently configured, allowing your agent to confirm data routing settings.

## Use Cases

### Onboarding new users for paid services
A user signs up, triggering an identity check. Your agent calls `create_application` first, then waits, calling `get_verification_status(app_id)` every few minutes. Once approved, it checks the billing status using `get_subscription` to ensure they have a paid plan before granting access.

### Auditing compliance records
A product manager needs to know which users are pending review. The agent runs `list_applications`, filters by 'Pending,' and then uses `get_documents` for the top 5 applications to confirm they submitted all required ID types.

### Debugging webhook failures
The billing system isn't receiving payment failure alerts. The agent runs `list_webhooks` to check the configured endpoints and verifies that the correct URL is listed, fixing data flow issues immediately.

### Updating expired user access
A subscription lapses. The agent calls `get_subscription(user_id)` to confirm the expiry date. If it's expired, it flags the account and can use `list_applications` to see if KYC is needed before renewal.

## Benefits

- Automate user compliance checks. Instead of waiting for manual status updates, your agent can run `get_verification_status(app_id)` to get the real-time approval state.
- Maintain accurate revenue logic. Use `list_subscriptions` and `get_subscription` to check a customer's billing tier before granting premium feature access.
- Streamline onboarding flow. Your agent can use `create_application` immediately upon sign-up, kicking off the KYC process without needing manual API calls.
- Audit user submissions easily. Use `list_applications` or `get_documents` to pull a full audit trail of every document and application ID for compliance review.
- Verify system health before deployment. Run `check_sharpei_status` first. This guarantees your agent doesn't fail mid-workflow due to a simple API outage.

## How It Works

The bottom line is you direct your AI agent to call specific tools (like `create_application` or `list_applications`) and receive structured JSON data back, which it then uses to complete a workflow.

1. First, call `check_sharpei_status` to ensure the API is live. This prevents failures later.
2. Next, if you need a new user checked, use `create_application(user_data)` to generate an ID and start the record.
3. Finally, pass the application ID into `get_verification_status(app_id)` to get the current compliance status.

## Frequently Asked Questions

**How do I check if my API connection works with `check_sharpei_status`?**
Call `check_sharpei_status()` first. It returns a simple confirmation object, telling you immediately if the service is operational before your agent tries anything else.

**What tools do I use to get all user applications?**
Use `list_applications()`. This tool gives you an ID and status summary for every application record associated with your platform.

**Can I check a user's subscription details without knowing their ID? Using `get_subscription`?**
`get_subscription()` requires specific identifiers (like a user ID or plan name). You must provide the necessary context parameters when calling it.

**What is the difference between `list_applications` and `get_application`?**
`list_applications` gives you a summary of many apps. `get_application(app_id)` drills down to get every single detail for one specific app.

**Do I need to worry about webhook configuration? How do I check it using `list_webhooks`?**
Yes, running `list_webhooks()` confirms where Sharpei is sending event notifications. This is crucial for debugging data flow when an event fails.

**When I call `get_document` for an application, what specific metadata fields should I expect in the response?**
The tool returns structured data about the document. You'll receive details like file type (e.g., PDF, JPEG), date uploaded, and a unique hash ID for integrity checks.

**If a user verification fails, how do I get a specific reason or error code using `get_verification_status`?**
The status response includes an explicit failure reason field. Instead of just 'Failed,' you'll see the underlying cause—like 'Mismatching DOB' or 'Document expired.' This helps pinpoint necessary fixes.

**What are the required parameters I need to pass when running `create_application`?**
You must provide at minimum a user identifier and their primary email address. The function requires this initial data to provision the application record before any document uploads happen.

**Can my AI create a new verification application?**
Yes. Use `create_application` with the customer name and email. The agent starts the verification process and returns the application ID.

**How do I check document verification results?**
Use `get_document` with the application and document IDs. The agent returns verification status, document type, and any flags.

**Can I track the overall verification status?**
Yes. `get_verification_status` returns the current status of any application — pending, approved, or rejected.