transaction-coordinator

AI transaction coordinator + legal-matters platform for real estate and law firms.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
78%
이름 품질
91%
오염 위험
80%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainlist_my_deadlines에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,880토큰 (도구 정의)
~1.2 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.25%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "transaction-coordinator": {
      "url": "https://primacoda.halinc.tech/mcp"
    }
  }
}

원격 엔드포인트

https://primacoda.halinc.tech/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (11)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
⚪primacoda_info(topic, plan)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "topic": {
      "default": "overview",
      "title": "Topic",
      "type": "string"
    },
    "plan": {
      "default": "all",
      "title": "Plan",
      "type": "string"
    }
  },
  "title": "primacoda_infoArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "primacoda_infoOutput"
}
🟢calculate_savings(deals_per_month, current_method)

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"

입력 스키마

{
  "type": "object",
  "properties": {
    "deals_per_month": {
      "title": "Deals Per Month",
      "type": "integer"
    },
    "current_method": {
      "title": "Current Method",
      "type": "string"
    }
  },
  "required": [
    "deals_per_month",
    "current_method"
  ],
  "title": "calculate_savingsArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "calculate_savingsOutput"
}
🟢is_primacoda_right_for_me(agent_type, monthly_deals, pain_points)

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"])

입력 스키마

{
  "type": "object",
  "properties": {
    "agent_type": {
      "title": "Agent Type",
      "type": "string"
    },
    "monthly_deals": {
      "title": "Monthly Deals",
      "type": "integer"
    },
    "pain_points": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pain Points"
    }
  },
  "required": [
    "agent_type",
    "monthly_deals"
  ],
  "title": "is_primacoda_right_for_meArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "is_primacoda_right_for_meOutput"
}
⚪record_lead(name, email, firm, message)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "email": {
      "title": "Email",
      "type": "string"
    },
    "firm": {
      "default": "",
      "title": "Firm",
      "type": "string"
    },
    "message": {
      "default": "",
      "title": "Message",
      "type": "string"
    }
  },
  "required": [
    "name",
    "email"
  ],
  "title": "record_leadArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "record_leadOutput"
}
🟢list_my_deadlines(api_key, days, limit, offset)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "api_key": {
      "title": "Api Key",
      "type": "string"
    },
    "days": {
      "default": 30,
      "title": "Days",
      "type": "integer"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    }
  },
  "required": [
    "api_key"
  ],
  "title": "list_my_deadlinesArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_my_deadlinesOutput"
}
⚪recompute_deadlines(matter_uuid, api_key)

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_').

입력 스키마

{
  "type": "object",
  "properties": {
    "matter_uuid": {
      "title": "Matter Uuid",
      "type": "string"
    },
    "api_key": {
      "title": "Api Key",
      "type": "string"
    }
  },
  "required": [
    "matter_uuid",
    "api_key"
  ],
  "title": "recompute_deadlinesArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "recompute_deadlinesOutput"
}
🟡draft_motion_from_matter(matter_uuid, motion_type, instructions, api_key)

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_').

입력 스키마

{
  "type": "object",
  "properties": {
    "matter_uuid": {
      "title": "Matter Uuid",
      "type": "string"
    },
    "motion_type": {
      "title": "Motion Type",
      "type": "string"
    },
    "instructions": {
      "title": "Instructions",
      "type": "string"
    },
    "api_key": {
      "title": "Api Key",
      "type": "string"
    }
  },
  "required": [
    "matter_uuid",
    "motion_type",
    "instructions",
    "api_key"
  ],
  "title": "draft_motion_from_matterArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "draft_motion_from_matterOutput"
}
🟢check_motion_status(task_id, api_key)

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_').

입력 스키마

{
  "type": "object",
  "properties": {
    "task_id": {
      "title": "Task Id",
      "type": "string"
    },
    "api_key": {
      "title": "Api Key",
      "type": "string"
    }
  },
  "required": [
    "task_id",
    "api_key"
  ],
  "title": "check_motion_statusArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "check_motion_statusOutput"
}
🟡extract_contract_from_url(pdf_url, api_key)

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_').

입력 스키마

{
  "type": "object",
  "properties": {
    "pdf_url": {
      "title": "Pdf Url",
      "type": "string"
    },
    "api_key": {
      "title": "Api Key",
      "type": "string"
    }
  },
  "required": [
    "pdf_url",
    "api_key"
  ],
  "title": "extract_contract_from_urlArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "extract_contract_from_urlOutput"
}
🟢list_motions(api_key, limit, offset)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "api_key": {
      "title": "Api Key",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    }
  },
  "required": [
    "api_key"
  ],
  "title": "list_motionsArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_motionsOutput"
}
🟡search_case_law(query, jurisdiction, court, date_after, date_before, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "jurisdiction": {
      "default": "",
      "title": "Jurisdiction",
      "type": "string"
    },
    "court": {
      "default": "",
      "title": "Court",
      "type": "string"
    },
    "date_after": {
      "default": "",
      "title": "Date After",
      "type": "string"
    },
    "date_before": {
      "default": "",
      "title": "Date Before",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "search_case_lawArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "search_case_lawOutput"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 11개
검증됨버전이 기록되지 않음도구 11개