Skip to main content
Glama
huydepzai121

msc-mcp

by huydepzai121

MSC MCP Server

npm version

MCP Server lấy thông báo từ Hệ thống Mua sắm công (muasamcong.mpi.gov.vn).

Tính năng

3 tools:

  • get_notification_categories — Lấy danh sách loại thông báo

  • get_notifications — Lấy danh sách thông báo theo loại (có phân trang, tìm kiếm)

  • get_notification_detail — Lấy chi tiết một thông báo theo ID

Related MCP server: mcp-dauthau

Cài đặt

Dùng npx (khuyên dùng)

Không cần cài đặt, chỉ cần cấu hình MCP client (xem phần Cấu hình bên dưới).

Cài đặt global

npm install -g msc-mcp

Từ source

git clone https://github.com/huydepzai121/mcp_msc.git
cd mcp_msc
npm install
npm run build

Cấu hình

Claude Desktop

Thêm vào file claude_desktop_config.json:

Dùng npx (khuyên dùng):

{
  "mcpServers": {
    "msc-mcp": {
      "command": "npx",
      "args": ["-y", "msc-mcp"]
    }
  }
}

Dùng local path:

{
  "mcpServers": {
    "msc-mcp": {
      "command": "node",
      "args": ["/ĐƯỜNG-DẪN-TỚI/msc_mcp/build/index.js"]
    }
  }
}

Cursor

Thêm vào MCP settings:

Dùng npx:

{
  "msc-mcp": {
    "command": "npx",
    "args": ["-y", "msc-mcp"]
  }
}

Dùng local path:

{
  "msc-mcp": {
    "command": "node",
    "args": ["/ĐƯỜNG-DẪN-TỚI/msc_mcp/build/index.js"]
  }
}

Loại thông báo

Code

Tên

Tên tiếng Anh

1

Thông báo quản trị

Admin Notice

2

Thông báo về Hệ thống

System Notice

3

Lịch bảo trì hệ thống

System maintenance schedule

4

Thông báo về các khóa đào tạo

Notice of training courses

5

Hành vi hạn chế cạnh tranh

Anti-competitive behavior

6

Thông báo khác

Other notices

Yêu cầu

  • Node.js >= 18

Available Tools

3 tools
get_notification_categoriesA

Lấy danh sách loại thông báo từ hệ thống Mua sắm công

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry the burden of behavioral disclosure. It clearly implies a read-only operation ('Lấy' = get/fetch), but provides no additional context such as sorting, filtering, pagination, authorization requirements, or return format. The description is minimally transparent but not misleading.

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, front-loaded sentence with no unnecessary words. It efficiently conveys the tool's purpose and source system without redundancy.

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

Completeness4/5

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

For a zero-parameter tool with no output schema, the description is reasonably complete. It specifies what is returned (a list of notification types) and from where (the public procurement system). However, it does not detail the return structure or any edge cases, but this is acceptable given the tool's simplicity.

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 zero parameters, so the schema is trivially complete (100% coverage). Per the rubric, a baseline of 4 applies when there are no parameters, as there is nothing for the description to clarify about parameter semantics.

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 that the tool retrieves a list of notification categories from the public procurement system. It uses a specific verb ('Lấy' = get) and a specific resource ('danh sách loại thông báo' = list of notification types), which distinguishes it from siblings like get_notifications or get_notification_detail.

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?

The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention get_notifications or get_notification_detail, nor does it state any exclusions or preferred use cases. The intended usage is only implied by the tool's name and description.

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

get_notification_detailA

Lấy chi tiết một thông báo theo ID từ hệ thống Mua sắm công

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUUID của thông báo
notiTypeNoMã loại thông báo (để tìm kiếm)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. 'Get' implies a read-only operation, but no additional behavioral details (e.g., authorization requirements, error cases) are disclosed. For a simple lookup tool, this is adequate but minimal.

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 in Vietnamese that immediately states the tool's purpose. No filler or redundant information.

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

Completeness4/5

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

For a simple lookup tool with two parameters fully described in the schema and no output schema, the description is sufficient. It clearly identifies the scope and resource. It could mention the return format, but this is not critical given the tool's trivial nature.

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 has 100% coverage for both parameters, with 'id' described as UUID and 'notiType' as a type code. The description's mention of 'by ID' aligns with the schema but adds no extra meaning beyond what the schema already provides.

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 retrieves details of a single notification by ID, distinguishing it from sibling tools that list notifications or categories. The verb 'get' plus specific resource ('chi tiết một thông báo') and identifier ('theo ID') makes the purpose unambiguous.

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

Usage Guidelines4/5

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

The description implies use when a specific notification's detail is needed by ID, contrasting with the listing tools. It doesn't explicitly exclude other cases, but the context is clear enough for an agent to select it appropriately.

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

get_notificationsC

Lấy danh sách thông báo theo loại từ hệ thống Mua sắm công

ParametersJSON Schema
NameRequiredDescriptionDefault
contentNoTừ khóa tìm kiếm
notiTypeYesMã loại thông báo, ví dụ: '2' = Thông báo về Hệ thống
pageSizeNoSố lượng kết quả mỗi trang
pageNumberNoSố trang (bắt đầu từ 0)
isHighlightedNoLọc thông báo nổi bật

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only says 'get list' and does not disclose pagination behavior, sorting, authentication requirements, or response format. The schema covers parameters, but the behavioral traits (e.g., defaults, filtering logic) are absent from the description.

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?

A single, concise, front-loaded sentence that efficiently communicates the tool's purpose. No redundant wording or filler.

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?

The tool has 5 parameters, no output schema, and no annotations. The description only states the basic function and omits important context like what the list response contains, whether pagination is required, or any usage caveats. Despite schema parameter descriptions, the overall context is insufficient for an agent to fully understand invocation and expected results.

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?

Schema description coverage is 100%, so the schema documents all parameters. The description adds no additional parameter context beyond the schema, but does not need to; the baseline of 3 is appropriate.

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 'get' and the resource 'list of notifications', with scope 'by type from the public procurement system'. It distinguishes itself implicitly from sibling tools (detail, categories) but does not explicitly name them.

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 explicit when-to-use or alternative guidance. The phrase 'by type' implies a filtering use case, but there is no mention of when to prefer this over get_notification_detail or get_notification_categories.

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

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct operation: listing notifications, listing categories, and fetching a single notification by ID. There is no ambiguity between them despite all being 'get' operations.

Naming Consistency5/5

All tool names follow the same `get_notification_*` pattern with consistent snake_case and verb-first naming. This makes the set predictable and easy to navigate.

Tool Count4/5

Three tools is a lean but appropriate set for a read-only notification retrieval service. It covers the essential operations without unnecessary bloat, though it is on the smaller end of the ideal range.

Completeness4/5

The tools provide the core lifecycle for viewing notifications: list all, filter by category, get categories, and fetch details. There is no update or delete, but this appears to be a read-only public procurement notification system, so the coverage is adequate with only minor potential gaps like search or pagination.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    Not graded
    maintenance
    Enables users to search and retrieve detailed information about Taiwan government procurement tenders through the Government Electronic Procurement System API. It supports searching tenders by keyword, category code, date, and government unit.
    6
  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects AI tools to Vietnamese bid (đấu thầu) lookup service DauThau via MCP, with local key signing for security.
    17
    GPL 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables fetching latest news from VnExpress.net, including categories, search, and article content retrieval.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching Korean procurement notices from the public data portal, with support for integrated search across categories, flexible date ranges, and attachment extraction.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/huydepzai121/mcp_msc'

If you have feedback or need assistance with the MCP directory API, please join our Discord server