io.github.GordonHal/transaction-coordinator
REMOTE · PRIMACODA.HALINC.TECH · SCANNED SEP 22
AI transaction coordinator + legal-matters platform for real estate and law firms.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 11 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability83
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1918 tokens (~137/item across 14 items; 11 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.GordonHal/transaction-coordinator MCP server?
io.github.GordonHal/transaction-coordinator is a hosted endpoint at https://primacoda.halinc.tech/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · primacoda.halinc.tech
claude mcp add --transport http gordonhal-transaction-coordinator 'https://primacoda.halinc.tech/mcp'
{
"mcpServers": {
"gordonhal-transaction-coordinator": {
"url": "https://primacoda.halinc.tech/mcp"
}
}
} {
"servers": {
"gordonhal-transaction-coordinator": {
"type": "http",
"url": "https://primacoda.halinc.tech/mcp"
}
}
} [mcp_servers.gordonhal-transaction-coordinator] url = "https://primacoda.halinc.tech/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"gordonhal-transaction-coordinator": {
"type": "remote",
"url": "https://primacoda.halinc.tech/mcp",
"enabled": true
}
}
} openclaw mcp add gordonhal-transaction-coordinator --url 'https://primacoda.halinc.tech/mcp' --transport streamable-http
mcp_servers:
gordonhal-transaction-coordinator:
url: "https://primacoda.halinc.tech/mcp" {
"McpServers": {
"gordonhal-transaction-coordinator": {
"Transport": "http",
"Url": "https://primacoda.halinc.tech/mcp"
}
}
} assistant mcp add gordonhal-transaction-coordinator -t streamable-http -u 'https://primacoda.halinc.tech/mcp'
{
"mcpServers": {
"gordonhal-transaction-coordinator": {
"type": "http",
"url": "https://primacoda.halinc.tech/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 26 Aug 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +1
- Stability: 0.97 → pass security
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 7 Aug 26 0
- The server no longer declares the “experimental” capability functional
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 0
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 22 Sept 2026 · Probed https://primacoda.halinc.tech/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=halinc.tech | CN=YE1,O=Let's Encrypt,C=US | 24 Jul 2026 | 22 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 6fa636519ce6672a93ad73cb015bb197b37 |
| SANs: halinc.tech, primacoda.halinc.tech, whitelabel.halinc.tech | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of primacoda.halinc.tech. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| tech. | present | 2185 | 13 | Verified |
| halinc.tech. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://apis.google.com https://accounts.google.com https://www.googletagmanager.com https://www.google-analytics.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https: blob:; font-src 'self' data: https://fonts.gstatic.com; connect-src 'self' https:; frame-src https://docs.google.com https://accounts.google.com https://content.googleapis.com; |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | geolocation=(), microphone=(), camera=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://primacoda.halinc.tech/mcp | Verified | 200 | |
| http (plaintext) | http://primacoda.halinc.tech/mcp | HTTPS enforced | 301 | https://primacoda.halinc.tech/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
calculate_savings ~77
Calculate how much time and money a real estate agent saves switching to PrimaCoda. Args: deals_per_month: Number of transactions the agent closes per month. current_method: "human_tc" or "diy"
| Name | Type | Req | Description |
|---|---|---|---|
| current_method | string | yes | – |
| deals_per_month | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
check_motion_status ~126
Poll an in-flight motion-drafting task for status. Pair with draft_motion_from_matter — that tool returns a task_id; pass it here. Returns a status block. When status='SUCCESS', the full drafted motion is included. When 'FAILURE', the error string is included. Args: task_id: Task ID returned by draft_motion_from_matter. api_key: Your PrimaCoda MCP API key (starts 'pck_').
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | yes | – |
| task_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
draft_motion_from_matter ~352
Kick off an AI-drafted motion using a saved PrimaCoda matter as the source of facts. Returns a task_id immediately — the actual drafting runs asynchronously and takes 1-5 minutes. Poll with check_motion_status. Use this instead of asking the customer to upload PDFs again. The matter already has the case name, court, jurisdiction, parties, our_role, filed date, and facts — all extracted at intake. Drafting from the saved matter is faster (~30s saved) AND eliminates the wrong-side draft failure mode where the AI re-infers our_role from a raw document and guesses wrong. Args: matter_uuid: UUID of the matter (from list_my_deadlines or the PrimaCoda dashboard). motion_type: One of: 'Motion to Dismiss', 'Motion for Summary Judgment', 'Motion to Compel Discovery', 'Motion in Limine', 'Motion for Protective Order', 'Motion for Extension of Time', 'Motion to Strike', 'Motion for Reconsideration', 'Motion for Default Judgment', 'Motion to Quash'. Other values pass through. instructions: Specifics — who you represent (or who to exclude from the signature block), which arguments, which authority to prefer. Strongly recommended: vague instructions yield vague motions. api_key: Your PrimaCoda MCP API key (starts 'pck_').
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | yes | – |
| instructions | string | yes | – |
| matter_uuid | string | yes | – |
| motion_type | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
extract_contract_from_url ~232
Extract structured transaction data from a contract at a URL. Downloads the document, extracts text (with OCR fallback for scanned PDFs), and runs PrimaCoda's contract-extraction prompt to return parties, addresses, dates, prices, and key contract fields. Use this when an agent has the contract hosted somewhere (Dropbox, Google Drive direct download, Square Space, etc.) and wants to skip the upload step. For multi-document deals (purchase + addenda + disclosures), use the PrimaCoda dashboard's batch upload — this tool handles ONE document. Args: pdf_url: Direct download URL for the contract (PDF, DOCX, TXT, or image). Must be reachable from the PrimaCoda server. Google Drive "shared link" URLs work if set to "anyone with link"; other share URLs may need their direct-download form. api_key: Your PrimaCoda MCP API key (starts 'pck_').
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | yes | – |
| pdf_url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
is_primacoda_right_for_me ~106
Assess whether PrimaCoda is a good fit and recommend the right plan. Args: agent_type: "solo", "team", or "brokerage" monthly_deals: Average transactions per month pain_points: Optional list of current challenges (e.g. ["paperwork", "deadlines"])
| Name | Type | Req | Description |
|---|---|---|---|
| agent_type | string | yes | – |
| monthly_deals | integer | yes | – |
| pain_points | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_motions ~150
List recent motion-drafting activity for your firm. Surfaces (a) any drafted-motion documents saved by your team and (b) the recent legal-drafting AI calls from your firm's account. Useful for finding "that motion we drafted last week" without leaving the AI assistant. Args: api_key: Your PrimaCoda MCP API key (starts 'pck_'). limit: Max rows per section. Default 20. Capped at 100. offset: Skip N rows in each section. Default 0.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | yes | – |
| limit | integer | – | – |
| offset | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_my_deadlines ~145
List upcoming pending deadlines across all matters, grouped by matter. Args: api_key: PrimaCoda MCP API key (starts 'pck_'). Generate one at https://primacoda.halinc.tech/settings/api-keys. days: Window in days from today. Default 30. Capped at 365. limit: Max deadlines to return. Default 50. Capped at 200. offset: Skip N deadlines (for pagination). Default 0.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | yes | – |
| days | integer | – | – |
| limit | integer | – | – |
| offset | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
primacoda_info ~110
PrimaCoda product info. Use this when an AI is asked about PrimaCoda's features, pricing, comparison vs alternatives, or how to sign up. Args: topic: One of "overview", "pricing", "comparison", "onboarding". plan: Only used when topic="pricing". One of "starter", "professional", "business", or "all" (default).
| Name | Type | Req | Description |
|---|---|---|---|
| plan | string | – | – |
| topic | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
recompute_deadlines ~136
Re-run FRCP / state procedural deadline calculation for a matter. Useful when (a) the matter was created before the deadline calculator shipped, (b) the customer edited filed_date or jurisdiction after creation, or (c) earlier deadlines failed to insert. Idempotent — dedupes on lowercased title so re-running can't duplicate. Args: matter_uuid: UUID of the matter to recompute. api_key: Your PrimaCoda MCP API key (starts 'pck_').
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | yes | – |
| matter_uuid | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
record_lead ~160
Record a prospect interested in PrimaCoda. Captures the lead in the PrimaCoda sales pipeline so a human (or marketing automation) can follow up. Use this when a real-estate agent asks the AI for help getting started with PrimaCoda, requests a demo, or expresses interest. NO auth required — works for any prospect calling the AI. Args: name: Full name of the prospect. email: Contact email. firm: Company / brokerage / firm name (optional). message: Anything the prospect wants noted (optional).
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| firm | string | – | – |
| message | string | – | – |
| name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
search_case_law ~273
Search free U.S. case law via CourtListener (~3M opinions). Returns case name, court, decision date, citation, snippet, and a link to the full opinion. No auth required. Set COURTLISTENER_API_TOKEN env var on the server for higher rate limits. Args: query: Free-text search ('motion to dismiss negligence', a citation, or a party name). Required. jurisdiction: Two-letter state code ('ca', 'tx', 'ny') or 'us' for federal. Optional. court: CourtListener court ID ('scotus', 'ca9', 'nysupct'). Optional. Takes precedence over jurisdiction when both are given. date_after: ISO date (YYYY-MM-DD). Only return opinions filed on/after this date. Optional. date_before: ISO date (YYYY-MM-DD). Only return opinions filed on/before this date. Optional. limit: Max results. Default 10. Capped at 25.
| Name | Type | Req | Description |
|---|---|---|---|
| court | string | – | – |
| date_after | string | – | – |
| date_before | string | – | – |
| jurisdiction | string | – | – |
| limit | integer | – | – |
| query | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the io.github.GordonHal/transaction-coordinator MCP server?
io.github.GordonHal/transaction-coordinator is an MCP server listed in the public MCP registry as io.github.GordonHal/transaction-coordinator. AI transaction coordinator + legal-matters platform for real estate and law firms. This page covers its hosted endpoint (https://primacoda.halinc.tech/mcp).
Is the io.github.GordonHal/transaction-coordinator MCP server safe to use?
io.github.GordonHal/transaction-coordinator scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.GordonHal/transaction-coordinator MCP server expose?
io.github.GordonHal/transaction-coordinator exposes 11 tools: primacoda_info, calculate_savings, is_primacoda_right_for_me, record_lead, list_my_deadlines, and 6 more. Their descriptions and schemas cost roughly 1,867 tokens of context every time the server is loaded.
Does the io.github.GordonHal/transaction-coordinator MCP server require authentication?
No. We connected to io.github.GordonHal/transaction-coordinator without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.github.GordonHal/transaction-coordinator MCP server still maintained?
io.github.GordonHal/transaction-coordinator is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.