Career Bhavan — Indian courses & colleges
Server Details
Search Indian courses, colleges and online universities: fees, approvals, syllabus, comparisons.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool has a fairly distinct target: search_* vs get_* vs compare. The main risk is overlap between get_college_details (which already lists courses with fees) and get_college_course_details, plus get_course_details (which lists colleges with fees), since all three surface fee/syllabus/placement data. Still, the college/course/intersection split is clear enough to select correctly.
Every name is snake_case following a predictable verb_noun pattern: search_colleges, search_courses, search_guides, get_college_details, get_college_course_details, get_course_details, compare_colleges. The get_* variants are systematically distinguished by scope.
Seven tools is well-scoped for a courses-and-colleges directory: three searches, three detail lookups, and one comparison. Each earns its place with no redundant tooling.
The surface covers the core read-only lifecycle: discover (search_*), inspect (get_*), and compare, plus editorial guides. Minor gaps remain, such as searching by exam or directly comparing courses across colleges, but core workflows are fully served.
Available Tools
7 toolscompare_collegesCompare collegesARead-onlyIdempotentInspect
Side-by-side comparison of 2–4 colleges: type, location, approvals, NAAC, NIRF, rating, fees and placements. Pass course_slug to compare the fees, duration and mode of that specific course at each college.
| Name | Required | Description | Default |
|---|---|---|---|
| course_slug | No | Course slug, e.g. from search results. | |
| college_slugs | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds the 2–4 college bound and the effect of course_slug, but says nothing about response shape or limits; with annotations present, this is adequate rather than rich.
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?
Two sentences, zero filler, with the core comparison scope front-loaded before the optional course_slug refinement. Every clause carries information.
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 correctly enumerates the returned comparison dimensions and the course-level variant. It stops short of stating result format or pagination, but for a bounded comparison tool this is close to 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 50%, and the description compensates by explaining what course_slug actually does (compares fees, duration and mode for that course at each college) rather than merely restating the property name. It also reinforces the 2–4 college constraint from the schema.
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?
States a specific verb+resource ('side-by-side comparison of 2–4 colleges') and enumerates the compared dimensions (type, location, approvals, NAAC, NIRF, rating, fees, placements). It is clearly distinguishable from get_college_details and search_colleges, though it does not name those siblings explicitly.
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 one conditional rule — pass course_slug to compare course-level fees, duration and mode — which is genuine usage guidance. However, it never says when to choose compare_colleges over get_college_details or search_colleges, leaving the primary routing decision implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_college_course_detailsCourse at a collegeBRead-onlyIdempotentInspect
Details of one course at one college (e.g. Online MBA at a specific university): fees and fee breakdown, duration, mode, eligibility, admission notes, syllabus and FAQs.
| Name | Required | Description | Default |
|---|---|---|---|
| course_slug | Yes | Course slug, e.g. from search results. | |
| college_slug | Yes | College slug, e.g. from search results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds the list of returned data domains (fees, duration, mode, eligibility, syllabus, FAQs), which is useful context, but says nothing about auth, rate limits, or pagination.
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?
A single dense sentence that front-loads the core purpose and then enumerates the payload. Nothing is wasted, though the trailing field list is long enough that it slightly dilutes the lead statement.
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's enumeration of returned content (fees, breakdown, duration, mode, eligibility, admission notes, syllabus, FAQs) is genuinely necessary and present. However, for an agent selecting among six siblings, the failure to differentiate from get_course_details leaves a real gap in completeness.
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 100%, so both slug parameters are already documented in the schema with their pattern and provenance ('from search results'). The description's example illustrates the college/course pairing but adds no syntax or format detail beyond the schema, so the baseline 3 applies.
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: details of one course at one college, with a concrete example (Online MBA at a specific university). It is clear what is returned, but it does not distinguish itself from the sibling get_course_details, which an agent could easily confuse it with.
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?
There is no guidance on when to use this tool versus get_course_details, get_college_details, or search_courses. The presence of both a college-scoped and a generic course-detail sibling makes this omission costly, since nothing tells the agent which to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_college_detailsCollege detailsBRead-onlyIdempotentInspect
Full public profile of one college or university: approvals (UGC, AICTE, NAAC…), NIRF rank, rating, fees, placements, courses offered with fees, student review excerpts and FAQs.
| Name | Required | Description | Default |
|---|---|---|---|
| college_slug | Yes | College slug, e.g. from search results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety and determinism profile is fully covered by structured data. The description's contribution is the content inventory of the returned profile, which is useful but strictly about payload rather than behavior. It says nothing about what happens with an unknown slug, missing data, or truncation of review excerpts.
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?
One sentence, front-loaded with the resource and scope, followed by a compact enumerated list of returned fields. No filler, no repetition of the title, and the most decision-relevant information (single college, full profile) comes first.
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 carries the burden of describing the return payload, and it does so thoroughly for a directory-profile tool. Safety behavior is covered by annotations. The remaining gap is edge-case behavior (invalid or delisted slug, empty fields), which is minor for a read-only lookup.
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?
There is a single required parameter and schema description coverage is 100%; the schema already supplies the pattern, length bounds, and the "College slug, e.g. from search results" note. The description adds no further meaning about slug format or lookup semantics. Baseline 3 is appropriate when the schema does all the work.
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 gives a specific verb-scope plus resource ("Full public profile of one college or university") and enumerates exactly what the profile contains: approvals, NIRF rank, rating, fees, placements, courses with fees, reviews, FAQs. That is far more concrete than a generic "get college details." It does not, however, name or contrast itself with siblings such as search_colleges or get_college_course_details, so the distinction is only implied.
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 description contains no when-to-use, when-not-to-use, or alternative-tool guidance. The only workflow hint, "College slug, e.g. from search results," lives in the input schema, not the description, and it is a weak pointer at best. An agent must infer that this is the detail-expansion step after search_colleges.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_course_detailsCourse detailsBRead-onlyIdempotentInspect
Full public details of one course: eligibility, entrance exams, duration, fee range, syllabus by semester, career outcomes with salary ranges, FAQs, specialisations and colleges offering it with their fees.
| Name | Required | Description | Default |
|---|---|---|---|
| course_slug | Yes | Course slug, e.g. from search results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only the word 'public' and the breadth of the payload; it says nothing about not-found behavior, payload size, or rate limits beyond what annotations supply.
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?
A single front-loaded sentence with no filler, and the returned content is enumerated up front. The list is long but each item carries selection value by telling the agent what is available without a second call.
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 correctly carries the burden of describing the return payload, and it does so in detail across all the resource's sections. Missing only edge-case behavior (invalid or unknown slug), which is a minor gap for a one-parameter read tool whose annotations already cover safety.
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?
There is a single parameter with 100% schema description coverage, including a slug pattern, min/max length, and a sourcing hint ('from search results'). The description adds no syntax or format detail beyond that, so the schema does the heavy lifting and baseline 3 applies.
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?
States a specific retrieval of one course's full public profile and enumerates the content domains (eligibility, exams, fees, syllabus, careers, FAQs, specialisations, offering colleges). The scope ('one course', 'full details') implicitly separates it from search_courses, but it never names or distinguishes itself from the close sibling get_college_course_details.
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?
No explicit when-to-use, prerequisites, or alternative routing. The nearest hint ('Course slug, e.g. from search results') lives in the schema, not the description, and nothing tells the agent when to prefer this over get_college_course_details or search_courses.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_collegesSearch colleges and universitiesARead-onlyIdempotentInspect
Find Indian colleges and universities (including online and distance universities) on CareerBhavan. Filter by name, a course they offer, city, institution type, and total-fee budget in INR. Returns slugs, location, NAAC/NIRF, approvals and fees.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City as listed on the site, e.g. "Bengaluru", "Noida". | |
| type | No | e.g. "Private University", "Deemed University". | |
| limit | No | ||
| query | No | College name or keyword. | |
| course | No | Only colleges offering this course, e.g. "Online MBA". | |
| max_total_fees_inr | No | ||
| min_total_fees_inr | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine value beyond that by disclosing the domain (Indian institutions, including online/distance) and the rough shape of the payload (slugs, location, NAAC/NIRF, approvals, fees). It does not mention paging/limit behavior or result-size expectations.
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?
Two dense sentences, front-loaded with the verb and the resource, followed by filter dimensions and return shape. Almost every clause earns its place, with only light branding ('on CareerBhavan') as 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's brief return-field list is doing necessary work, and the filter enumeration covers the main query parameters. Remaining gaps are pagination/limit semantics and how the numeric fee bounds interact, which leaves it short of fully self-contained.
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 only 57%, so the description has to compensate, and it does: it names name, course, city, institution-type and 'total-fee budget in INR', which maps the otherwise-undocumented min/max_total_fees_inr pair to a concrete budget concept. The limit parameter gets no explanation in either place, so the coverage is not complete.
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?
States a concrete verb (find) and resource (Indian colleges/universities, including online and distance) and scopes it to CareerBhavan. It implicitly separates itself from search_courses by naming the entity type, but never explicitly contrasts with siblings like get_college_details or compare_colleges.
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 listed filter dimensions imply a discovery/browse use case, so an agent can infer this is the entry point for finding colleges matching criteria. However, there is no explicit when-to-use guidance, no exclusions, and no pointer to get_college_details for a single known college or compare_colleges for side-by-side comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_coursesSearch coursesARead-onlyIdempotentInspect
Search Indian degree, diploma and online courses on CareerBhavan (e.g. "online MBA", "BCA", "data science"). Returns course slugs, level, duration, mode and fee range. Use get_course_details next for syllabus, eligibility and colleges offering it.
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | Optional level filter, e.g. UG, PG, Diploma, Certification, Doctorate. | |
| limit | No | ||
| query | Yes | Course name or subject. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely new context: the shape of the result set (slugs, level, duration, mode, fee range) and the intended chaining into get_course_details, which matters given there is no output schema.
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 short sentences, front-loaded with what is searched, then what comes back, then the next step. Every sentence carries distinct information; nothing is 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 and only moderate parameter coverage, the description usefully discloses return fields and the follow-up tool, which is exactly what an agent needs to plan a two-step flow. The only omission is any mention of the limit/pagination behavior of the result set.
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 67% and the schema itself documents query and level's allowed values (UG, PG, Diploma, etc.). The description's example queries ('online MBA', 'BCA') add real meaning to query, but the limit parameter is never explained and 'level' appears only as a returned field, not as a filter, which mildly blurs its role.
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?
States a specific verb (search) plus the exact resource and corpus ('Indian degree, diploma and online courses on CareerBhavan'), and anchors it with concrete example queries. That resource scoping cleanly separates it from siblings like search_colleges and search_guides.
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?
Explicitly routes the agent forward: 'Use get_course_details next for syllabus, eligibility and colleges offering it,' which names the sibling and the condition that selects it. It gives no when-not guidance (e.g. use search_colleges instead when the user wants institutions), so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_guidesSearch guidesARead-onlyIdempotentInspect
Search CareerBhavan counsellor-written guides and articles (admissions, fees, online degree validity, careers). Returns titles, short excerpts and links.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the description is not needed for that. It usefully goes beyond them by disclosing the return shape ('titles, short excerpts and links'), which tells the agent what it can expect back. It omits ranking, pagination, and empty-result behavior, but the annotations carry most of the remaining burden.
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?
Two compact sentences with zero filler, front-loading what is searched and following with what is returned. Every clause carries information.
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 partially cover return values (titles, excerpts, links), which is appropriate. However, with two parameters at 0% schema coverage and no annotations gap to excuse it, the definition leaves query semantics and limit behavior unexplained.
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% for both parameters, so nothing documents what 'query' accepts (keywords, natural-language question, topic strings) or how 'limit' behaves beyond the default of 5 and max of 10. The description mentions neither parameter, leaving the agent to guess at query formulation.
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 gives a specific verb ('Search') plus a clearly bounded resource ('CareerBhavan counsellor-written guides and articles') and enumerates the subject domains covered (admissions, fees, online degree validity, careers). This resource type is implicitly distinct from the sibling tools that deal with colleges and courses, though no sibling is named outright.
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?
Usage is only implied: an agent can infer it should call this when looking for editorial guide content rather than college/course records, and the listed topic domains help. There is no explicit when-to-use, when-not-to-use, or named alternative among search_colleges or search_courses.
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.
7 tool updates
- First observed
compare_colleges - First observed
get_college_course_details - First observed
get_college_details - First observed
get_course_details - First observed
search_colleges - First observed
search_courses - First observed
search_guides
Related MCP Connectors
Read-only search of Youth4work public jobs, assessed talent, exam mock tests and Indian colleges.
Indian mutual fund search, latest AMFI NAVs, side-by-side comparison and SIP or lumpsum returns.
Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes.
Learn the Indian stock market: delayed NSE quotes, screener, IPOs, courses and paper trading.
Related MCP Servers
- FlicenseAqualityDmaintenanceSearches US colleges and scholarships using government data, enabling comparisons of tuition, debt, earnings, and program-specific outcomes.4-
- FlicenseNot gradedqualityDmaintenanceProvides intelligent access to a university course catalog with full-text search, prerequisite tracking, instructor lookups, and course comparison prompts.-
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to explore, compare, and engage with postsecondary education and training offerings—programs, courses, certifications, credit transfer, prior learning, and career transitions—with sourced, snapshot-dated answers and explicit statements of missing data.-
- AlicenseNot gradedqualityAmaintenanceSearch, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP.105 npm1Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.