Skip to main content
Glama
Eun-Y0ung

TeamTok MCP

by Eun-Y0ung

InternMate MCP

Agentic Player 10 출품용 TypeScript MCP 서버입니다.

InternMate MCP는 대학생과 취업 준비생이 자연어로 인턴/신입/경력무관 공고를 찾을 수 있도록 돕습니다. 사람인 채용정보 API를 사용해 기본적으로 오늘 기준 14일 안에 마감되는 공고를 추천순으로 정리하고, 카카오톡에서 읽기 쉬운 텍스트로 반환합니다.

Tools

  • health_check: MCP 서버 상태 확인

  • search_entry_jobs: 인턴/신입/경력무관 공고 검색 및 추천

  • get_job_detail: 공고 ID 또는 URL 기반 상세 요약

  • make_application_brief: 선택 공고 지원 준비 체크리스트 생성

Related MCP server: mrt-fe-review-washer

Requirements

  • Node.js 20 이상

  • npm

  • 사람인 채용정보 API access key

Install

npm install

Development

npm run dev

Build

npm run build

Test

npm test

Environment

.env 또는 MCP 클라이언트 환경 변수에 다음 값을 설정합니다.

SARAMIN_ACCESS_KEY=
SARAMIN_API_BASE_URL=https://oapi.saramin.co.kr
LOG_LEVEL=info

API key는 코드에 하드코딩하지 않습니다. 단위 테스트는 실제 사람인 API를 호출하지 않고 fixture/mock 데이터를 사용합니다.

MCP Client Example

{
  "mcpServers": {
    "agentic-player-10": {
      "command": "node",
      "args": ["dist/server.js"],
      "env": {
        "SARAMIN_ACCESS_KEY": "...",
        "SARAMIN_API_BASE_URL": "https://oapi.saramin.co.kr",
        "LOG_LEVEL": "info"
      }
    }
  }
}

Example Prompt

IT 기업 인턴 공고 찾아줘

후속 질문:

1번 공고 자세히 알려줘

Project Structure

src/
  server.ts
  tools/
  schemas/
  services/
  utils/
tests/
  fixtures/
  services/
  tools/
docs/

Safety

  • 실제 지원 제출은 수행하지 않습니다.

  • 합격 가능성을 예측하지 않습니다.

  • 사용자 개인정보를 저장하지 않습니다.

  • 공고 조건이 불확실하면 원문 링크 확인을 안내합니다.

Available Tools

4 tools
get_job_detailC

Summarize a specific Saramin job posting by job id or URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNo
job_urlNo
include_application_briefNo

TDQS

C2.7/5.0
Behavior2/5

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

Given no annotations, the description must disclose behavioral traits. It only says 'summarize' but does not mention whether the tool is read-only, requires authentication, or handles missing jobs. The return format or effects are not described.

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

Conciseness4/5

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

The description is a single concise sentence with no fluff. It is front-loaded with the main purpose, but could be slightly expanded to include more parameter details without losing conciseness.

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?

With three parameters, no annotations, and no output schema, the description is insufficient. It does not explain the tool's output, error handling, or how the boolean parameter affects behavior. The agent would lack critical context for correct usage.

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

Parameters2/5

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

Schema description coverage is 0%. The description adds that the tool can be used by job id or URL, clarifying the two string parameters are alternatives, but it completely omits the include_application_brief parameter, leaving its purpose unexplained.

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

Purpose4/5

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

The description states the tool summarizes a specific job posting by job id or URL, which is clear and differentiates from sibling tools like health_check or search_entry_jobs. However, it does not explicitly compare to alternatives.

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?

No guidance is provided on when to use this tool versus siblings or in what scenarios to prefer job_id over job_url. The description lacks usage context.

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

health_checkA

Check whether the MCP server is running.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

The description does not disclose what the tool returns (e.g., boolean, status message, or error) nor any behavioral details beyond the basic check. No annotations are provided to compensate.

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

Conciseness5/5

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

The description is a single concise sentence that communicates the purpose with no unnecessary words.

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

Completeness3/5

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

Given the tool has no parameters and no output schema, the description is somewhat complete for a simple health check. However, it lacks information about the return format, which is needed for the agent to handle the response correctly.

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

Parameters4/5

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

The tool has no parameters, and the input schema is empty (100% coverage). The description does not add parameter-specific meaning, but with zero parameters, the baseline of 4 is appropriate.

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

Purpose5/5

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

The description clearly states the tool checks if the MCP server is running, using a specific verb and resource. It distinguishes from sibling tools like get_job_detail, make_application_brief, and search_entry_jobs, which are unrelated to server health.

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?

No guidance on when to use this tool versus alternatives is provided. While it's a health check likely used before other operations, the description does not explicitly state expected usage context or prerequisites.

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

make_application_briefC

Create an application preparation checklist for a selected job posting.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobYes
student_profileNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It implies a read/create operation but does not disclose side effects, required permissions, or output format. The behavior beyond the core function is unclear.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It could be improved by front-loading key details, but it is not overly verbose.

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?

Given the absence of output schema, annotations, and the presence of siblings that may overlap, the description fails to provide sufficient context. It does not explain what the checklist includes or how it relates to the student profile.

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

Parameters2/5

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

Schema description coverage is 0%, and the tool description provides no additional meaning for parameters. Field names are somewhat self-explanatory, but nested properties like 'requirements' and 'portfolio_ready' lack context on how they are used.

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

Purpose4/5

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

The description clearly states the verb ('Create') and resource ('application preparation checklist for a selected job posting'), but it does not distinguish from sibling tools like get_job_detail or search_entry_jobs that may also relate to job postings.

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?

No guidance is provided on when to use this tool vs alternatives, or on prerequisites like having a job posting selected. The description only states the function without context.

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

search_entry_jobsB

Search and rank student-friendly intern, newcomer, and entry-level job postings.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
keywordsYes
locationNo
job_categoryNo
employment_typeNoentry
student_profileNo
deadline_within_daysNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It mentions 'search and rank', which suggests sorting but no details on pagination, sorting criteria, or non-destructive nature. The behavior is moderately transparent but lacks specifics.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. There is no breakdown of parameters or clear organization. Though brief, it could be more informative without being lengthy.

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?

Given 7 parameters (including nested objects), no schema descriptions, and no output schema, the description is severely incomplete. It fails to explain essential parameters like the required keywords or the complex student_profile object, making it insufficient for an agent to correctly invoke the tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain parameters. It only hints at 'intern, newcomer, entry-level' relating to employment_type, but fails to describe other key parameters like keywords, limit, location, job_category, student_profile, or deadline_within_days. This leaves the agent with minimal guidance on how to use the parameters.

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

Purpose5/5

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

The description clearly states the tool 'searches and ranks' jobs, specifying the target audience and job types (intern, newcomer, entry-level). This differentiates it from siblings like get_job_detail (which retrieves a single job's details) and make_application_brief (which handles applications).

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

Usage Guidelines3/5

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

The description implies it is for student-friendly job searches but does not explicitly state when to use it over alternatives or exclude scenarios. No guidance on when not to use it or prerequisites is provided.

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.

  1. 4 tool updatesv0.1.0
    • First observedget_job_detail
    • First observedhealth_check
    • First observedmake_application_brief
    • First observedsearch_entry_jobs

TDQS

B3.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct purpose: health check, job search, job detail, and application prep. No overlap, clear differentiation.

Naming Consistency4/5

Tools use snake_case with verbs (get_, search_, make_), but 'health_check' is a noun phrase, breaking the verb_noun pattern slightly. Consistent otherwise.

Tool Count5/5

4 tools cover the core workflow (search, detail, application aid, health) without being excessive. Well-scoped for the server's purpose.

Completeness4/5

Covers search, detail, and application preparation. Missing filters or save features, but the set is sufficient for a focused job search assistant.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    TeamMCP is an MCP-native collaboration server that enables AI agents and humans to communicate through shared channels, direct messages, and integrated task management. It provides a persistent layer for real-time collaboration with full-text search and a centralized web dashboard.
    9 npm
    54
    MIT