Skip to main content
Glama

edupulse

EduPulse: Global education intelligence API — 10 endpoints for students, test-takers, and lifelong learners worldwide. Study guide generation (any subject, any grade level, 190+ countries), adaptive quiz with e

Coverage: Global

Endpoints: • guide ($0.10): Study guide generation — any subject, any grade, any country • quiz ($0.10): Practice quiz with adaptive difficulty and answer explanations • explain ($0.05): Concept explainer — any topic at any level from 5th grade to PhD • schedule ($0.10): Backwards-planned study schedule — from exam date to today, with daily tasks • prep ($1.00): Exam-style practice questions — 200+ exams, rubric-matched difficulty • flashcards ($0.50): Spaced-repetition flashcard set — import into Anki or Quizlet • explain ($0.50): Exam format explainer — complete breakdown of any exam structure and strategy • mock ($1.00): Full mock exam simulation — timed, scored, with performance report • misconception ($0.10): Misconception diagnosis — pinpoints the exact knowledge gap behind a wrong answer • grade ($1.00): Rubric-based exam grading — written response scoring with detailed feedback • co-op-guide ($0.10): Homeschool co-op finder — live web search for local groups and support communities • curriculum-match ($0.10): Homeschool curriculum finder — personalized matches by grade, subject, and learning style • essay ($0.25): College admissions essay review — admissions-coach feedback • homeschool-laws ($0.10): Homeschool law lookup — legal requirements and compliance checklist by jurisdiction • appeal-check ($0.50): Financial-aid appeal screen — lane routing with statutes (deterministic, $0.50) • appeal-letter ($5.00): Financial-aid appeal letter — citation-backed, ready to send ($5.00) • fix-check ($0.50): Student-loan fix screen — discharge/PSLF/servicer lane routing with deadline math (deterministic, $0.50) • fix-letter ($5.00): Student-loan fix document — AB 376 demand / PSLF reconsideration / discharge statement ($5.00) • plan-check ($0.50): SAVE wind-down plan comparator — RAP vs IBR vs Tiered Standard • sample ($0.20): Exam-suite sampler / preview — deterministic, no LLM

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ageNoStudent age — catches independence-by-age (24+) before appealing for nothing
agiNoAdjusted gross income
cityNoCity or metro area — improves result specificity
dateNoExam date YYYY-MM-DD
examNoexam
langNoResponse language code (e.g. es, fr, zh, ja)
rateNoWeighted avg rate %, default 6.5
countNocount
essayNoEssay text (min. 50 characters). Use POST body for long essays.
focusNoFocus (academic, enrichment, both)
gradeNoGrade level: K, 1-12
issueNoIssue key. One of: forged_signature, identity_theft, no_diploma_falsecert, disqualifying_condition, unauthorized_payment, school_closed, pslf_denied_employer, pslf_denied_payment_count, pslf_denied_incomplete, pslf_buyback, pslf_employer_illegal_purpose, qwr_ignored, payment_misapplied, forgiveness_interference, transfer_problems, late_fee_unreasonable, expedite_request, rap_dispute, borrower_defense
levelNoGrade level or exam type
stateNoState or region — e.g. "Texas" | "Ohio"
styleNoLearning style
topicNoSpecific topic within the subject
actionYesWhich endpoint to call. Options: guide | quiz | explain | schedule | prep | flashcards | explain | mock | misconception | grade | co-op-guide | curriculum-match | essay | homeschool-laws | appeal-check | appeal-letter | fix-check | fix-letter | plan-check | sample
answerNoThe student's wrong answer
promptNoEssay prompt
schoolNoTarget school
balanceNoTotal federal loan balance
conceptNoconcept
ipa_usdNoIncome protection allowance from the FAFSA Submission Summary/ISIR (for the IPA screen)
marriedNotrue if married and not separated (1087vv(d)(6))
sectionNoExam section (e.g. FAR for CPA)
subjectNoSubject (algebra, biology, chemistry, history, etc.)
audienceNoe.g. 'nursing student', 'Series 7 candidate', 'adult learner'
durationNoDuration in minutes
enrolledNotrue|false — currently enrolled or admitted/aid-eligible (PJ unavailable after ceasing eligibility)
questionNoThe exam/study question
responseNoThe student response to grade
loan_typeNodirect | ffel | perkins | private | unknown — federal discharge/PSLF lanes are Direct-loan regs (34 CFR part 685); private loans route to the CA servicer lane
loan_yearNoYear you first received loan proceeds (must be 1986+)
questionsNoquestions
religiousNoReligious preference (none, christian, catholic, etc. — default none includes all)
award_yearNoAward year YYYY-YY (e.g. 2026-27; default current). Era-gated rules (OBBBA foreign-income strike eff. 2026-07-01) key off this
child_agesNoChild ages (e.g. 5-10, all ages)
dependentsNoDependents claimed (RAP $50/mo credit each)
difficultyNodifficulty
charged_feeNotrue if the school charged for the review — flags the 1087tt(a)(2)(B) no-fee rule
denial_dateNoPSLF: date on the denial notice — engine computes the 90-day reconsideration deadline (685.219(g)(1))
family_sizeNoHousehold size for IBR poverty-line math (default dependents+1)
school_nameNoSchool name (discharge lanes)
ack_receivedNotrue|false — acknowledgment received within the 10-business-day window
circumstanceNoWhat changed / the situation. One of: job_loss, dislocated_worker, income_drop_other, divorce_separation, death_of_provider, medical_expenses, k12_tuition, child_care, additional_in_college, severe_disability, homelessness, claimed_losses, forced_sale_farm_business, foreign_income, asset_change, qualifying_emergency, parental_abandonment, abusive_household, human_trafficking, refugee_asylee, parental_incarceration, unable_to_contact_parent, parents_refuse_support, parents_refuse_fafsa, unaccompanied_homeless, not_claimed_on_taxes, self_sufficient, standard_living_expenses, vacation_or_tithing
closure_dateNoClosed school: official closure date YYYY-MM-DD (ED publishes these)
current_planNosave|ibr|paye|icr|standard|graduated|extended|other|none
grad_studentNotrue if graduate/professional student (1087vv(d)(5))
interferenceNotrue if the servicer substantially interfered with forgiveness/discharge/plan rights — treble floor, min $1,500/violation (1788.103(c))
student_nameNoStudent name for the letter
borrower_nameNoBorrower name for the document
pursuing_pslfNotrue if working toward PSLF
question_typeNoe.g. NGN, logic-games, task-based-simulation, data-sufficiency
servicer_nameNoServicer name for the addressee (AB 376 demand)
has_dependentsNotrue if you have legal dependents other than a spouse (1087vv(d)(7))
hours_per_weekNohours_per_week
still_enrolledNotrue if you were still enrolled when the school closed
borrower_statusNoexisting|new (new = first loan or consolidation on/after 2026-07-01)
withdrawal_dateNoClosed school: your withdrawal date — engine computes the 180-day window (34 CFR 685.214(d))
deferment_monthsNoPSLF buyback: months in deferment/forbearance while employed full-time at a qualifying employer
extension_noticeNotrue if the servicer noticed a 15-business-day extension before day 30
income_after_usdNoIncome appeals: household income now/projected
violations_countNoCA servicer: distinct violations — $500/violation statutory floor math (1788.103(b))
income_before_usdNoIncome appeals: household income before the change
new_borrower_2014NoIBR tier: true=10%/20yr (default), false=15%/25yr
request_sent_dateNoCA servicer: date your qualified written request was sent — engine computes the 10/30-business-day clocks (Civ. Code 1788.102(t))
response_receivedNotrue|false — substantive response received
actual_damages_usdNoCA servicer: documented actual damages (fees, interest, credit harm)
completed_teachoutNotrue if you completed the program via a teach-out/another branch (defeats discharge)
contact_poses_riskNoDependency-override gateway: true if contact with parent(s) poses a risk to you
foster_ward_orphanNotrue if orphan/ward of court/foster care at 13+ — already independent (1087vv(d)(2))
veteran_active_dutyNotrue if veteran or active duty (1087vv(d)(4))
medical_expenses_usdNoMedical circumstance: out-of-pocket expenses — runs the deterministic IPA 11% deny-risk screen (FSA AVG Ch.5)
school_says_no_appealsNotrue if the school claims it does not do adjustments — flags the 20 USC 1087tt(a)(2)(A) blanket-denial prohibition
emancipated_guardianshipNotrue if emancipated or in court-ordered legal guardianship (1087vv(d)(3))
unable_to_contact_parentNoDependency-override gateway (1087vv(d)(9)): true if you cannot contact the parent(s)

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Which endpoint to call. Options: guide | quiz | explain | schedule | prep | flashcards | explain | mock | misconception | grade | co-op-guide | curriculum-match | essay | homeschool-laws | appeal-check | appeal-letter | fix-check | fix-letter | plan-check"New value: +"Which endpoint to call. Options: guide | quiz | explain | schedule | prep | flashcards | explain | mock | misconception | grade | co-op-guide | curriculum-match | essay | homeschool-laws | appeal-check | appeal-letter | fix-check | fix-letter | plan-check | sample"
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "guide",
      -  "quiz",
      -  "explain",
      -  "schedule",
      -  "prep",
      -  "flashcards",
      -  "explain",
      -  "mock",
      -  "misconception",
      -  "grade",
      -  "co-op-guide",
      -  "curriculum-match",
      -  "essay",
      -  "homeschool-laws",
      -  "appeal-check",
      -  "appeal-letter",
      -  "fix-check",
      -  "fix-letter",
      -  "plan-check"
      -]New value: +[
      +  "guide",
      +  "quiz",
      +  "explain",
      +  "schedule",
      +  "prep",
      +  "flashcards",
      +  "explain",
      +  "mock",
      +  "misconception",
      +  "grade",
      +  "co-op-guide",
      +  "curriculum-match",
      +  "essay",
      +  "homeschool-laws",
      +  "appeal-check",
      +  "appeal-letter",
      +  "fix-check",
      +  "fix-letter",
      +  "plan-check",
      +  "sample"
      +]
  2. Changed7 schema fields changed
    • addedInput schema / properties / borrower_status
      Added value: +{
      +  "description": "existing|new (new = first loan or consolidation on/after 2026-07-01)",
      +  "type": "string"
      +}
    • changedInput schema / properties / current_plan / description
      Previous value: -"save|ibr|paye|icr|standard|none"New value: +"save|ibr|paye|icr|standard|graduated|extended|other|none"
    • addedInput schema / properties / dependents
      Added value: +{
      +  "description": "Dependents claimed (RAP $50/mo credit each)",
      +  "type": "string"
      +}
    • addedInput schema / properties / family_size
      Added value: +{
      +  "description": "Household size for IBR poverty-line math (default dependents+1)",
      +  "type": "string"
      +}
    • addedInput schema / properties / new_borrower_2014
      Added value: +{
      +  "description": "IBR tier: true=10%/20yr (default), false=15%/25yr",
      +  "type": "string"
      +}
    • addedInput schema / properties / pursuing_pslf
      Added value: +{
      +  "description": "true if working toward PSLF",
      +  "type": "string"
      +}
    • addedInput schema / properties / rate
      Added value: +{
      +  "description": "Weighted avg rate %, default 6.5",
      +  "type": "string"
      +}
  3. Changed5 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Which endpoint to call. Options: guide | quiz | explain | schedule | prep | flashcards | explain | mock | misconception | grade | co-op-guide | curriculum-match | essay | homeschool-laws | appeal-check | appeal-letter | fix-check | fix-letter"New value: +"Which endpoint to call. Options: guide | quiz | explain | schedule | prep | flashcards | explain | mock | misconception | grade | co-op-guide | curriculum-match | essay | homeschool-laws | appeal-check | appeal-letter | fix-check | fix-letter | plan-check"
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "guide",
      -  "quiz",
      -  "explain",
      -  "schedule",
      -  "prep",
      -  "flashcards",
      -  "explain",
      -  "mock",
      -  "misconception",
      -  "grade",
      -  "co-op-guide",
      -  "curriculum-match",
      -  "essay",
      -  "homeschool-laws",
      -  "appeal-check",
      -  "appeal-letter",
      -  "fix-check",
      -  "fix-letter"
      -]New value: +[
      +  "guide",
      +  "quiz",
      +  "explain",
      +  "schedule",
      +  "prep",
      +  "flashcards",
      +  "explain",
      +  "mock",
      +  "misconception",
      +  "grade",
      +  "co-op-guide",
      +  "curriculum-match",
      +  "essay",
      +  "homeschool-laws",
      +  "appeal-check",
      +  "appeal-letter",
      +  "fix-check",
      +  "fix-letter",
      +  "plan-check"
      +]
    • addedInput schema / properties / agi
      Added value: +{
      +  "description": "Adjusted gross income",
      +  "type": "string"
      +}
    • addedInput schema / properties / balance
      Added value: +{
      +  "description": "Total federal loan balance",
      +  "type": "string"
      +}
    • addedInput schema / properties / current_plan
      Added value: +{
      +  "description": "save|ibr|paye|icr|standard|none",
      +  "type": "string"
      +}
  4. Changed40 schema fields changed
    • addedInput schema / properties / ack_received
      Added value: +{
      +  "description": "true|false — acknowledgment received within the 10-business-day window",
      +  "type": "string"
      +}
    • changedInput schema / properties / action / description
      Previous value: -"Which endpoint to call. Options: guide | quiz | explain | schedule | prep | flashcards | explain | mock | misconception | grade | co-op-guide | curriculum-match | essay | homeschool-laws"New value: +"Which endpoint to call. Options: guide | quiz | explain | schedule | prep | flashcards | explain | mock | misconception | grade | co-op-guide | curriculum-match | essay | homeschool-laws | appeal-check | appeal-letter | fix-check | fix-letter"
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "guide",
      -  "quiz",
      -  "explain",
      -  "schedule",
      -  "prep",
      -  "flashcards",
      -  "explain",
      -  "mock",
      -  "misconception",
      -  "grade",
      -  "co-op-guide",
      -  "curriculum-match",
      -  "essay",
      -  "homeschool-laws"
      -]New value: +[
      +  "guide",
      +  "quiz",
      +  "explain",
      +  "schedule",
      +  "prep",
      +  "flashcards",
      +  "explain",
      +  "mock",
      +  "misconception",
      +  "grade",
      +  "co-op-guide",
      +  "curriculum-match",
      +  "essay",
      +  "homeschool-laws",
      +  "appeal-check",
      +  "appeal-letter",
      +  "fix-check",
      +  "fix-letter"
      +]
    • addedInput schema / properties / actual_damages_usd
      Added value: +{
      +  "description": "CA servicer: documented actual damages (fees, interest, credit harm)",
      +  "type": "string"
      +}
    • addedInput schema / properties / age
      Added value: +{
      +  "description": "Student age — catches independence-by-age (24+) before appealing for nothing",
      +  "type": "string"
      +}
    • addedInput schema / properties / award_year
      Added value: +{
      +  "description": "Award year YYYY-YY (e.g. 2026-27; default current). Era-gated rules (OBBBA foreign-income strike eff. 2026-07-01) key off this",
      +  "type": "string"
      +}
    • addedInput schema / properties / borrower_name
      Added value: +{
      +  "description": "Borrower name for the document",
      +  "type": "string"
      +}
    • addedInput schema / properties / charged_fee
      Added value: +{
      +  "description": "true if the school charged for the review — flags the 1087tt(a)(2)(B) no-fee rule",
      +  "type": "string"
      +}
    • addedInput schema / properties / circumstance
      Added value: +{
      +  "description": "What changed / the situation. One of: job_loss, dislocated_worker, income_drop_other, divorce_separation, death_of_provider, medical_expenses, k12_tuition, child_care, additional_in_college, severe_disability, homelessness, claimed_losses, forced_sale_farm_business, foreign_income, asset_change, qualifying_emergency, parental_abandonment, abusive_household, human_trafficking, refugee_asylee, parental_incarceration, unable_to_contact_parent, parents_refuse_support, parents_refuse_fafsa, unaccompanied_homeless, not_claimed_on_taxes, self_sufficient, standard_living_expenses, vacation_or_tithing",
      +  "type": "string"
      +}
    • addedInput schema / properties / closure_date
      Added value: +{
      +  "description": "Closed school: official closure date YYYY-MM-DD (ED publishes these)",
      +  "type": "string"
      +}
    • addedInput schema / properties / completed_teachout
      Added value: +{
      +  "description": "true if you completed the program via a teach-out/another branch (defeats discharge)",
      +  "type": "string"
      +}
    • addedInput schema / properties / contact_poses_risk
      Added value: +{
      +  "description": "Dependency-override gateway: true if contact with parent(s) poses a risk to you",
      +  "type": "string"
      +}
    • addedInput schema / properties / deferment_months
      Added value: +{
      +  "description": "PSLF buyback: months in deferment/forbearance while employed full-time at a qualifying employer",
      +  "type": "string"
      +}
    • addedInput schema / properties / denial_date
      Added value: +{
      +  "description": "PSLF: date on the denial notice — engine computes the 90-day reconsideration deadline (685.219(g)(1))",
      +  "type": "string"
      +}
    • addedInput schema / properties / emancipated_guardianship
      Added value: +{
      +  "description": "true if emancipated or in court-ordered legal guardianship (1087vv(d)(3))",
      +  "type": "string"
      +}
    • addedInput schema / properties / enrolled
      Added value: +{
      +  "description": "true|false — currently enrolled or admitted/aid-eligible (PJ unavailable after ceasing eligibility)",
      +  "type": "string"
      +}
    • addedInput schema / properties / extension_notice
      Added value: +{
      +  "description": "true if the servicer noticed a 15-business-day extension before day 30",
      +  "type": "string"
      +}
    • addedInput schema / properties / foster_ward_orphan
      Added value: +{
      +  "description": "true if orphan/ward of court/foster care at 13+ — already independent (1087vv(d)(2))",
      +  "type": "string"
      +}
    • addedInput schema / properties / grad_student
      Added value: +{
      +  "description": "true if graduate/professional student (1087vv(d)(5))",
      +  "type": "string"
      +}
    • addedInput schema / properties / has_dependents
      Added value: +{
      +  "description": "true if you have legal dependents other than a spouse (1087vv(d)(7))",
      +  "type": "string"
      +}
    • addedInput schema / properties / income_after_usd
      Added value: +{
      +  "description": "Income appeals: household income now/projected",
      +  "type": "string"
      +}
    • addedInput schema / properties / income_before_usd
      Added value: +{
      +  "description": "Income appeals: household income before the change",
      +  "type": "string"
      +}
    • addedInput schema / properties / interference
      Added value: +{
      +  "description": "true if the servicer substantially interfered with forgiveness/discharge/plan rights — treble floor, min $1,500/violation (1788.103(c))",
      +  "type": "string"
      +}
    • addedInput schema / properties / ipa_usd
      Added value: +{
      +  "description": "Income protection allowance from the FAFSA Submission Summary/ISIR (for the IPA screen)",
      +  "type": "string"
      +}
    • addedInput schema / properties / issue
      Added value: +{
      +  "description": "Issue key. One of: forged_signature, identity_theft, no_diploma_falsecert, disqualifying_condition, unauthorized_payment, school_closed, pslf_denied_employer, pslf_denied_payment_count, pslf_denied_incomplete, pslf_buyback, pslf_employer_illegal_purpose, qwr_ignored, payment_misapplied, forgiveness_interference, transfer_problems, late_fee_unreasonable, expedite_request, rap_dispute, borrower_defense",
      +  "type": "string"
      +}
    • addedInput schema / properties / loan_type
      Added value: +{
      +  "description": "direct | ffel | perkins | private | unknown — federal discharge/PSLF lanes are Direct-loan regs (34 CFR part 685); private loans route to the CA servicer lane",
      +  "type": "string"
      +}
    • addedInput schema / properties / loan_year
      Added value: +{
      +  "description": "Year you first received loan proceeds (must be 1986+)",
      +  "type": "string"
      +}
    • addedInput schema / properties / married
      Added value: +{
      +  "description": "true if married and not separated (1087vv(d)(6))",
      +  "type": "string"
      +}
    • addedInput schema / properties / medical_expenses_usd
      Added value: +{
      +  "description": "Medical circumstance: out-of-pocket expenses — runs the deterministic IPA 11% deny-risk screen (FSA AVG Ch.5)",
      +  "type": "string"
      +}
    • addedInput schema / properties / request_sent_date
      Added value: +{
      +  "description": "CA servicer: date your qualified written request was sent — engine computes the 10/30-business-day clocks (Civ. Code 1788.102(t))",
      +  "type": "string"
      +}
    • addedInput schema / properties / response_received
      Added value: +{
      +  "description": "true|false — substantive response received",
      +  "type": "string"
      +}
    • addedInput schema / properties / school_name
      Added value: +{
      +  "description": "School name (discharge lanes)",
      +  "type": "string"
      +}
    • addedInput schema / properties / school_says_no_appeals
      Added value: +{
      +  "description": "true if the school claims it does not do adjustments — flags the 20 USC 1087tt(a)(2)(A) blanket-denial prohibition",
      +  "type": "string"
      +}
    • addedInput schema / properties / servicer_name
      Added value: +{
      +  "description": "Servicer name for the addressee (AB 376 demand)",
      +  "type": "string"
      +}
    • addedInput schema / properties / still_enrolled
      Added value: +{
      +  "description": "true if you were still enrolled when the school closed",
      +  "type": "string"
      +}
    • addedInput schema / properties / student_name
      Added value: +{
      +  "description": "Student name for the letter",
      +  "type": "string"
      +}
    • addedInput schema / properties / unable_to_contact_parent
      Added value: +{
      +  "description": "Dependency-override gateway (1087vv(d)(9)): true if you cannot contact the parent(s)",
      +  "type": "string"
      +}
    • addedInput schema / properties / veteran_active_duty
      Added value: +{
      +  "description": "true if veteran or active duty (1087vv(d)(4))",
      +  "type": "string"
      +}
    • addedInput schema / properties / violations_count
      Added value: +{
      +  "description": "CA servicer: distinct violations — $500/violation statutory floor math (1788.103(b))",
      +  "type": "string"
      +}
    • addedInput schema / properties / withdrawal_date
      Added value: +{
      +  "description": "Closed school: your withdrawal date — engine computes the 180-day window (34 CFR 685.214(d))",
      +  "type": "string"
      +}
  5. First observed

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full transparency burden. It does add useful behavioral context: per-endpoint pricing, 'deterministic' flags for sample and appeal-check, 'live web search' for co-op-guide, and notes that certain actions do not use an LLM. However, it omits output format, error behavior, authentication, and rate limits, and the inconsistent endpoint count undermines trust.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is excessively long and unstructured, with a bullet list of endpoints that duplicates 'explain' (at different prices) and contradicts the stated count of 10. Key information is not front-loaded, and the prose reads more like product marketing than a tool specification, making it harder for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 76 parameters and no output schema, the description should help the agent select the correct action and understand what parameters to supply. It fails to do so; it lists endpoints and prices but doesn't connect actions to the rich schema fields or describe return values. The 'Coverage: Global' note is not sufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers 100% of parameters with detailed descriptions, so the baseline is 3. The description adds no parameter-level meaning and does not map endpoints to required parameters or explain how action interacts with other fields. It doesn't compensate for any ambiguity because the schema itself is thorough.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's domain as education intelligence and lists specific capabilities (study guide generation, quizzes, exam prep), so the basic purpose is discernible. However, it lacks a focused verb+resource statement and is internally inconsistent: it claims '10 endpoints' but lists 19, with 'explain' appearing twice. It doesn't clearly distinguish from sibling pulse tools beyond the education domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool or how to choose among the many endpoints. The endpoint names are self-descriptive, but the description doesn't say 'use guide for study guides' or provide decision criteria. It also doesn't mention alternatives or exclusions, leaving the agent to infer usage from the action enum alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.2/5.0
Disambiguation4/5

Each tool has a unique domain prefix (e.g., airdroppulse, alphapulse, arbipulse) making them mostly distinguishable at a glance. A few adjacent verticals like careerpulse vs talentpulse or marketpulse vs dealpulse have overlapping themes, but their descriptions clarify the distinct focus. The utility tools (catalog_search, discover, get_openapi_spec, x402_troubleshoot) are also clearly distinct in role. However, the sheer number of similar 'pulse' names could still cause misselection without reading descriptions.

Naming Consistency4/5

The dominant naming convention is `<domain>pulse` (e.g., climatepulse, cryptopulse, edupulse), which is highly consistent and predictable. Exceptions like catalog_search, discover, get_openapi_spec, x402_troubleshoot, and stateedge break the pattern, but these are few and serve obvious utility purposes. Overall, the convention is clear and easily learnable.

Tool Count2/5

With 80 tools, the server presents an extremely large and potentially overwhelming surface. While each tool represents a distinct intelligence vertical and navigation aids exist (catalog_search, discover, get_openapi_spec), the count far exceeds the typical 3-15 range for coherent agent use and even the 'heavy' 16-25 range. The burden of selecting the correct vertical from 80 options is significant, despite clear naming.

Completeness5/5

The server offers an exceptionally broad and deep coverage of domains, from finance and health to agriculture and gaming. Each vertical includes multiple endpoints that address core operations for its domain, such as search, analysis, comparisons, deterministic checks, and even action-oriented tools like letter generators and physical mail. The presence of free discovery and troubleshooting tools fills potential gaps, leaving no obvious dead ends in the overall tool surface.