Skip to content

CounselorAI

by The-825 · remote · no sign-in to list tools · v1.2.0 · published by GitHub user The-825

College-access writing and financial-aid analysis tools for counselors, students, and families.

Final · 1Changes · 11

13 tools: 1 do something that can't be undone, 11 change things and 1 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http counselorai https://api.counselorai.app/mcp

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • Warnaid

    The server marks "aid" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "explain": a word for reading.

    What this check looks for
  • The server marks "scholarship" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "search": a word for reading.

    What this check looks for
  • The server marks "quote_call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true}; The name "quote_call" says "call": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

13 tools

Can't be undone 1Claude Code: ask
  • recDraft a letter of recommendation from counselor notes.No findings

    Why it is in this group

    • The input addresses people (input.recipient): what it sends cannot be taken back.
    Description, as the server wrote it
    Draft a letter of recommendation from counselor notes. Call this to WRITE a letter. To critique one that already exists, call letterlens instead, which is much cheaper. Runs the same 5-step pipeline as appeal. Cost: about 369 credits (~$0.369) per call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
Changes things 11Claude Code: ask
  • account_balanceFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Free. Returns the credits left on this API key. Call it before a long run of billed calls.

    Annotations the server declares

    • readOnlyHint: true
  • aidExplain what a family is likely to see across a list of schools and why, in plain language.1 finding

    Why it is in this group

    • The description's first verb is "explain": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "aid" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "explain": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Explain what a family is likely to see across a list of schools and why, in plain language. An explanation for a counselor to walk a family through, never an official determination, and the output says so. Cost: about 73 credits (~$0.073) per call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • appealDraft a financial aid appeal letter to a college financial aid office.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Draft a financial aid appeal letter to a college financial aid office. Call this when a family needs to ask for a review of an award: income dropped, an expense appeared, another school offered more, or the FAFSA was wrong. Returns the letter, not advice on whether to appeal. Runs a 5-step drafting pipeline, so it is the most expensive tool here and the slowest, typically 30 to 60 seconds. Cost: about 353 credits (~$0.353) per call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • awardlensBreak down one to three financial aid award letters: what is grant, what is loan, what is work-study that has to be earned, what the supported net price is, and what renewal condit…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Break down one to three financial aid award letters: what is grant, what is loan, what is work-study that has to be earned, what the supported net price is, and what renewal conditions are buried in the language. Identifies missing facts and questions for the aid office. With more than one letter it compares them side by side. Read-only. Cost: about 173 credits (~$0.173) per call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • fafsaProduce a FAFSA action checklist for one student, keyed to their grade, dependency status and income band.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Produce a FAFSA action checklist for one student, keyed to their grade, dependency status and income band. Answers the process question a family actually has: what do we do, in what order, by when. Does not compute an award. Cost: about 87 credits (~$0.087) per call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • humanizeRewrite reader-facing prose so it sounds direct, specific, and personal without changing facts or inventing a voice.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Rewrite reader-facing prose so it sounds direct, specific, and personal without changing facts or inventing a voice. Use it for outreach, emails, letters, posts, and narrative copy. It preserves quoted text and checks the result against the source. It does not evade or promise to beat AI detectors. Do not use it for code, SQL, JSON, legal text, or technical specifications. Cost: about 413 credits (~$0.413) per call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • profileTurn raw counselor notes into a structured student profile.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Turn raw counselor notes into a structured student profile. Run this first when working one student across several tools: it is cheap, and its output is good input for the relationship, traits and story fields on rec, or keyDetails on appeal. Cost: about 87 credits (~$0.087) per call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • quote_callFree.1 finding

    Why it is in this group

    • The name "quote_call" says "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "quote_call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true}; The name "quote_call" says "call": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Free. Validates the input for a tool and returns the exact credit hold a real call would take at your price, plus whether your balance covers it. Use it to budget before a billed call or to lint an input for free.

    Annotations the server declares

    • readOnlyHint: true
  • revisionApply one instruction to an existing letter and return the revised text.No findings

    Why it is in this group

    • The description's first verb is "apply": a word for a change.
    Description, as the server wrote it
    Apply one instruction to an existing letter and return the revised text. Pair it with letterlens: review to find the problems, revise to fix them. Changes only what the instruction asks for. Cost: about 97 credits (~$0.097) per call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • scholarshipSearch for current scholarship pages to review.1 finding

    Why it is in this group

    • The description's first verb is "search": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "scholarship" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "search": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Search for current scholarship pages to review. A page in the result is a research lead, not a verified match. Confirm program terms, deadline, and student eligibility on the sponsor page before advising the student. Live web search makes this slower and costlier than the other analysis tools. Cost: about 165 credits (~$0.165) per call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • translateTranslate counselor-facing output into a family's language, holding the financial aid terms in English on purpose.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Translate counselor-facing output into a family's language, holding the financial aid terms in English on purpose. FAFSA, Pell, SAI, COA and the loan names stay untranslated so a family can match what the school actually sends them against what they were told. Read-only. Cost: about 173 credits (~$0.173) per call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
Only reads 1Claude Code: allow
  • letterlensAnalyze a finished recommendation letter and return specific fixes: what is vague, what is asserted without evidence, what reads as generated.No findings

    Why it is in this group

    • The description's first verb is "analyze": a word for reading.
    Description, as the server wrote it
    Analyze a finished recommendation letter and return specific fixes: what is vague, what is asserted without evidence, what reads as generated. Read-only and far cheaper than drafting. Use it to critique a draft, not to rewrite one, and use revision to apply the fixes. Cost: about 93 credits (~$0.093) per call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http counselorai https://api.counselorai.app/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__counselorai__letterlens"
    ],
    "ask": [
      "mcp__counselorai__appeal",
      "mcp__counselorai__rec",
      "mcp__counselorai__awardlens",
      "mcp__counselorai__fafsa",
      "mcp__counselorai__aid",
      "mcp__counselorai__scholarship",
      "mcp__counselorai__profile",
      "mcp__counselorai__revision",
      "mcp__counselorai__translate",
      "mcp__counselorai__humanize",
      "mcp__counselorai__account_balance",
      "mcp__counselorai__quote_call"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as counselorai. Review it before you use it.