ARVX
Server Details
Email for long-term client relationships: ARVX reads each person first and remembers every pair.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- centricai/arvx-mcp
- GitHub Stars
- 0
- Server Listing
- ARVX connector
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
The three tools target clearly distinct stages: onboarding/access, running a paid reading, and retrieving a saved record summary. Although access and reading both mention keys and cost, their actions are clearly separate.
All names use the arvx_ prefix and snake_case verb_noun phrasing, making them predictable. record_summary is slightly less action-clear than get_record_summary would be, but the overall convention is consistent.
Three tools is a compact but sufficient surface for the apparent workflow, with each tool mapping to a distinct stage. It is slightly thin and leaves little room for ancillary record-management operations.
The core flow of access, run reading, and view record summary is covered, but there are notable gaps around listing, explicitly saving, updating, or deleting saved records. The save behavior is embedded in run_reading rather than exposed as a clear operation.
Available Tools
3 toolsarvx_get_accessARead-onlyInspect
How to get access to ARVX: the signup link to give the person, what they must do themselves, the price, and how to add their key to this connector. Call this when there is no key, or when the person asks how to start. Costs nothing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that by stating 'Costs nothing,' which addresses the cost concern an agent or user would have before invoking. It does not describe the shape of the returned content, but for a zero-parameter informational tool the added cost disclosure is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Information is front-loaded and every clause carries content: the resource, the return contents, the trigger conditions, and the cost. The opening sentence is a long enumerated list, which is slightly dense, but there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter guidance tool with no output schema, the description fully covers what the agent needs: what will be returned (link, steps, price, key setup) and when to call it. No gaps remain that would cause a misinvocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters and has 100% schema description coverage, so the schema baseline applies. There is nothing parameter-related for the description to add or omit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description spells out exactly what the tool returns: the signup link, the steps the person must take themselves, the price, and how to add the key to this connector. That specificity makes it trivially distinguishable from siblings like arvx_record_summary and arvx_run_reading, which are data-retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives two explicit trigger conditions: 'Call this when there is no key, or when the person asks how to start.' No inference is required about when to invoke it, and the conditions are precise enough to act on directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arvx_record_summaryARead-onlyInspect
When someone asks what is held about them: returns every item in a saved record in plain words. Needs the record and both people's emails. Never uses up a Reading; 10 a month per account.
| Name | Required | Description | Default |
|---|---|---|---|
| user | Yes | ||
| other | Yes | ||
| reason | Yes | ||
| record | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint, openWorldHint), and the description adds genuinely non-obvious behavior: it does not consume a Reading and is capped at 10 calls per month per account. It stops short of stating auth/permission requirements or what happens at the quota limit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose, inputs, then cost/quota. The most decision-relevant information (what it does, what it needs) is front-loaded with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does say the return is 'every item... in plain words', which is adequate framing. But the unexplained required 'reason' enum and absent permission/auth context leave real gaps for a 4-required-param tool with nested objects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It explains 'record' and 'both people's emails' (user, other), but the required 'reason' enum with values access_request/correction/deletion_check is never mentioned, leaving one of four required parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb and resource: returns every item in a saved record in plain words, framed by the user question it answers. It implicitly contrasts with a 'Reading' (the sibling arvx_run_reading) but never names the sibling outright, so differentiation is suggestive rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trigger condition is clear — 'when someone asks what is held about them' — which is a usable when-to-use statement. It hints at an alternative by noting it doesn't consume a Reading, but never states when to prefer arvx_run_reading or arvx_get_access instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arvx_run_readingAInspect
Run a Reading on two people from the emails between them. Send at least 3 emails written by the user and 3 by the other person, oldest first. From the second Reading on a pair, send the record from the last Reading exactly as it was returned. Costs one Reading (the first 3 are free). Save the record from the answer with this pair.
| Name | Required | Description | Default |
|---|---|---|---|
| user | Yes | The person you work for. | |
| other | Yes | The person the user works with. | |
| emails | Yes | Oldest first. Each person is read from their own latest 20 emails, the first 3,000 characters of each. | |
| record | No | The record from the last Reading on these same two people, unchanged. Leave out on the first Reading. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real context beyond the annotations: each call consumes one Reading from a free-then-paid quota, and repeated readings on the same pair are stateful (the previous record must be replayed), which explains the non-idempotent, credit-consuming nature. It does not disclose what happens to the email bodies submitted — notable for an openWorldHint tool that analyzes private correspondence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each carrying a distinct operational fact — input composition, ordering, record replay, and cost. No filler, and the core action leads.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description should say more about what a Reading returns beyond implying it is a savable 'record'; the agent is told to save it but not what it contains or how long it takes. Otherwise, for a 4-parameter nested open-world tool, the operational guidance is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds genuine meaning: the 'at least 3 by each side, oldest first' constraint is stricter than the schema's minItems 1, and 'send the record exactly as it was returned' defines the required fidelity of the record value. It says nothing extra about the nested user/other profile objects or the scores-vs-emails fallback.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource with scope: run a Reading on two people from the emails between them. It is distinguishable in operation from arvx_record_summary and arvx_get_access by the email-driven input, though 'Reading' itself remains proprietary jargon that the description never defines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete preconditions: at least 3 emails written by the user and 3 by the other person, ordered oldest first, and the rule that from the second Reading on the pair you must resend the prior record unchanged. It does not, however, route the agent to arvx_get_access for the 'first 3 are free' check or explain when reading is inappropriate.
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.
2 tool updates
- Changed
arvx_record_summary5 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / other / additionalPropertiesRemoved value: -false - added
Input schema / properties / other / properties / email / patternAdded value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" - removed
Input schema / properties / user / additionalPropertiesRemoved value: -false - added
Input schema / properties / user / properties / email / patternAdded value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
- Changed
arvx_run_reading45 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / emails / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / other / additionalPropertiesRemoved value: -false - added
Input schema / properties / other / properties / email / patternAdded value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" - removed
Input schema / properties / other / properties / scores / $refRemoved value: -"#/properties/user/properties/scores" - added
Input schema / properties / other / properties / scores / propertiesAdded value: +{ + "disc": { + "properties": { + "calculativeness": { + "description": "DISC's C goes here.", + "maximum": 10, + "minimum": 1, + "type": "integer" + }, + "dominance": { + "maximum": 10, + "minimum": 1, + "type": "integer" + }, + "influence": { + "maximum": 10, + "minimum": 1, + "type": "integer" + }, + "steadiness": { + "maximum": 10, + "minimum": 1, + "type": "integer" + } + }, + "type": "object" + }, + "ocean": { + "properties": { + "agreeableness": { + "maximum": 10, + "minimum": 1, + "type": "integer" + }, + "conscientiousness": { + "maximum": 10, + "minimum": 1, + "type": "integer" + }, + "emotional_stability": { + "maximum": 10, + "minimum": 1, + "type": "integer" + }, + "extraversion": { + "maximum": 10, + "minimum": 1, + "type": "integer" + }, + "openness": { + "maximum": 10, + "minimum": 1, + "type": "integer" + } + }, + "type": "object" + } +} - added
Input schema / properties / other / properties / scores / typeAdded value: +"object" - removed
Input schema / properties / user / additionalPropertiesRemoved value: -false - added
Input schema / properties / user / properties / email / patternAdded value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" - removed
Input schema / properties / user / properties / scores / additionalPropertiesRemoved value: -false - removed
Input schema / properties / user / properties / scores / properties / disc / additionalPropertiesRemoved value: -false - removed
Input schema / properties / user / properties / scores / properties / disc / properties / calculativeness / $refRemoved value: -"#/properties/user/properties/scores/properties/ocean/properties/extraversion" - added
Input schema / properties / user / properties / scores / properties / disc / properties / calculativeness / maximumAdded value: +10 - added
Input schema / properties / user / properties / scores / properties / disc / properties / calculativeness / minimumAdded value: +1 - added
Input schema / properties / user / properties / scores / properties / disc / properties / calculativeness / typeAdded value: +"integer" - removed
Input schema / properties / user / properties / scores / properties / disc / properties / dominance / $refRemoved value: -"#/properties/user/properties/scores/properties/ocean/properties/extraversion" - added
Input schema / properties / user / properties / scores / properties / disc / properties / dominance / maximumAdded value: +10 - added
Input schema / properties / user / properties / scores / properties / disc / properties / dominance / minimumAdded value: +1 - added
Input schema / properties / user / properties / scores / properties / disc / properties / dominance / typeAdded value: +"integer" - removed
Input schema / properties / user / properties / scores / properties / disc / properties / influence / $refRemoved value: -"#/properties/user/properties/scores/properties/ocean/properties/extraversion" - added
Input schema / properties / user / properties / scores / properties / disc / properties / influence / maximumAdded value: +10 - added
Input schema / properties / user / properties / scores / properties / disc / properties / influence / minimumAdded value: +1 - added
Input schema / properties / user / properties / scores / properties / disc / properties / influence / typeAdded value: +"integer" - removed
Input schema / properties / user / properties / scores / properties / disc / properties / steadiness / $refRemoved value: -"#/properties/user/properties/scores/properties/ocean/properties/extraversion" - added
Input schema / properties / user / properties / scores / properties / disc / properties / steadiness / maximumAdded value: +10 - added
Input schema / properties / user / properties / scores / properties / disc / properties / steadiness / minimumAdded value: +1 - added
Input schema / properties / user / properties / scores / properties / disc / properties / steadiness / typeAdded value: +"integer" - removed
Input schema / properties / user / properties / scores / properties / ocean / additionalPropertiesRemoved value: -false - removed
Input schema / properties / user / properties / scores / properties / ocean / properties / agreeableness / $refRemoved value: -"#/properties/user/properties/scores/properties/ocean/properties/extraversion" - added
Input schema / properties / user / properties / scores / properties / ocean / properties / agreeableness / maximumAdded value: +10 - added
Input schema / properties / user / properties / scores / properties / ocean / properties / agreeableness / minimumAdded value: +1 - added
Input schema / properties / user / properties / scores / properties / ocean / properties / agreeableness / typeAdded value: +"integer" - removed
Input schema / properties / user / properties / scores / properties / ocean / properties / conscientiousness / $refRemoved value: -"#/properties/user/properties/scores/properties/ocean/properties/extraversion" - added
Input schema / properties / user / properties / scores / properties / ocean / properties / conscientiousness / maximumAdded value: +10 - added
Input schema / properties / user / properties / scores / properties / ocean / properties / conscientiousness / minimumAdded value: +1 - added
Input schema / properties / user / properties / scores / properties / ocean / properties / conscientiousness / typeAdded value: +"integer" - removed
Input schema / properties / user / properties / scores / properties / ocean / properties / emotional_stability / $refRemoved value: -"#/properties/user/properties/scores/properties/ocean/properties/extraversion" - added
Input schema / properties / user / properties / scores / properties / ocean / properties / emotional_stability / maximumAdded value: +10 - added
Input schema / properties / user / properties / scores / properties / ocean / properties / emotional_stability / minimumAdded value: +1 - added
Input schema / properties / user / properties / scores / properties / ocean / properties / emotional_stability / typeAdded value: +"integer" - removed
Input schema / properties / user / properties / scores / properties / ocean / properties / openness / $refRemoved value: -"#/properties/user/properties/scores/properties/ocean/properties/extraversion" - added
Input schema / properties / user / properties / scores / properties / ocean / properties / openness / maximumAdded value: +10 - added
Input schema / properties / user / properties / scores / properties / ocean / properties / openness / minimumAdded value: +1 - added
Input schema / properties / user / properties / scores / properties / ocean / properties / openness / typeAdded value: +"integer" - added
Input schema / properties / user / properties / teamSize / maximumAdded value: +9007199254740991
3 tool updates
- First observed
arvx_get_access - First observed
arvx_record_summary - First observed
arvx_run_reading
Publisher details
- Operator
- Centric AI, Incorporated, d/b/a ARVX · Publisher source
- Operator website
- https://arvx.ai
- Vendor relationship
- First-party
- Documentation
- https://developer.arvx.ai/docs
- Trust center
- Not available
- Restrictions
- Needs an ARVX key. A person signs up at https://api.arvx.ai/account, accepts the terms and creates the key; an agent cannot. U.S. accounts only. The first 3 Readings are free, then 43 cents each, prepaid. A one-time photo ID and selfie check runs before the first payment. · Publisher source
Related MCP Connectors
Matchmaking network for personal AI agents: private agent-to-agent compatibility rendezvous.
AI memory layer for fractional CMOs -- client-partitioned minds, meeting prep, and EOS.
Personal CRM operated by AI agents. Read relationship context before acting, write back after.
Private B2B matching: your agent finds clients, partners and investors; you meet on double opt-in.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables freelancers and small agencies to manage client operations through voice, with daily briefings, call preparation, invoice tracking, stale-client alerts, and persistent memory across sessions.MIT
- FlicenseNot gradedqualityCmaintenanceLong-term Memory for AI. On Device. Secure. Coding tools, AI Agents. Instant Recall. Precise.-
- FlicenseAqualityDmaintenanceCross-model AI memory persistence server that gives every AI tool you use access to the same persistent memory.7-
- AlicenseBqualityAmaintenanceYour portable AI memory layer. Classify, store, and recall what matters across models, tools, and devices.319MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.