Skip to main content
Glama
miyaichi

OpenSincera MCP Server

by miyaichi

OpenSincera MCP 서버

게시자 메타데이터, 검증 정보 및 광고 품질 분석을 검색하기 위해 OpenSincera API에 대한 액세스를 제공하는 MCP(Model Context Protocol) 서버입니다.

개요

OpenSincera는 디지털 광고 게시자를 위한 투명성 및 검증 데이터를 제공하는 플랫폼입니다. 이 MCP 서버를 사용하면 AI 어시스턴트 및 기타 도구가 검증 상태, 메타데이터, 운영 지표, 기기 수준의 광고 품질 신호 및 경쟁 벤치마킹을 포함한 OpenSincera의 게시자 정보에 액세스할 수 있습니다.

Related MCP server: mcp-samsclub-ads

기능

  • 게시자 조회: 도메인 또는 게시자 ID로 게시자 검색

  • 메타데이터 검색: 검증 상태, 카테고리 및 운영 지표를 포함한 상세 게시자 정보 획득

  • 기기 수준 지표: 모바일 대 데스크톱 A2CR, 노출된 광고, 광고 새로고침 빈도 등 비교

  • 경쟁 벤치마킹: 유사한 게시자와 게시자 비교

  • 미디어 평가: 광고주 미디어 선택을 위해 여러 게시자의 점수 산정 및 순위 지정

  • 상태 모니터링: OpenSincera API 연결 상태 확인

  • 오류 처리: 상세한 오류 메시지를 통한 포괄적인 오류 처리

  • 입력 유효성 검사: Zod 스키마를 사용한 강력한 입력 유효성 검사

설치

npm을 사용하여 패키지를 전역으로 설치합니다:

npm install -g opensincera-mcp-server

사전 요구 사항

  • Node.js 18.0.0 이상

  • OpenSincera API 키

설정

  1. 저장소 복제:

git clone https://github.com/miyaichi/opensincera-mcp-server.git
cd opensincera-mcp-server
  1. 종속성 설치:

npm install
  1. 프로젝트 빌드:

npm run build
  1. 환경 변수 설정:

export OPENSINCERA_API_KEY="your-api-key-here"
export OPENSINCERA_BASE_URL="https://open.sincera.io/api"  # Optional
export OPENSINCERA_TIMEOUT="10000"  # Optional (milliseconds)

사용법

서버 실행

npm start

개발

npm run dev

Claude Desktop 구성

설치 방법에 따라 Claude Desktop 구성 파일에 다음을 추가합니다.

파일 위치:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%/Claude/claude_desktop_config.json

옵션 1: 전역으로 설치한 경우

npm install -g를 통해 패키지를 전역으로 설치한 경우, 시스템 경로에서 명령을 직접 사용할 수 있습니다.

{
  "mcpServers": {
    "opensincera": {
      "command": "opensincera-mcp-server",
      "env": {
        "OPENSINCERA_API_KEY": "your-api-key-here"
      }
    }
  }
}

옵션 2: 로컬 복제본을 사용하는 경우

저장소를 로컬로 복제한 경우, 스크립트에 대한 전체 경로를 제공해야 합니다. /path/to/를 프로젝트 디렉토리의 실제 절대 경로로 바꾸는 것을 잊지 마십시오.

{
  "mcpServers": {
    "opensincera": {
      "command": "node",
      "args": ["/path/to/opensincera-mcp-server/dist/index.js"],
      "env": {
        "OPENSINCERA_API_KEY": "your-api-key-here"
      }
    }
  }
}

Claude Desktop용 예시 프롬프트

구성이 완료되면 Claude Desktop에서 다음과 같은 자연어 프롬프트를 사용할 수 있습니다:

기본 상태 확인

Check the OpenSincera API connection status

게시자 도메인 조회

Get publisher information for yahoo.com from OpenSincera

상세 분석 요청

Analyze the publisher metrics for cnn.com and explain:
- Their verification status
- Ad to content ratio and what it means
- Supply chain complexity
- Overall advertising quality

기기 수준 비교

Show me the mobile vs desktop ad quality metrics for nytimes.com

경쟁 벤치마킹

Compare businessinsider.com against its similar publishers

모바일 중심 미디어 평가

Evaluate these publishers for a mobile branding campaign:
- nytimes.com
- washingtonpost.com
- reuters.com
Use device: mobile

게시자 ID 조회

Get detailed information for OpenSincera Publisher ID 2737

비즈니스 맥락 질문

I'm considering running ad campaigns on forbes.com.
Can you check their OpenSincera profile and tell me:
- Is this a verified publisher?
- What's their ad refresh rate and is it good or bad?
- How many supply paths do they have?
- Would you recommend this publisher for quality ad placement?

이 프롬프트는 적절한 OpenSincera MCP 도구를 자동으로 트리거하고 상세한 지표 설명이 포함된 형식화된 응답을 반환합니다.

사용 가능한 도구

get_publisher_metadata

OpenSincera API에서 게시자 메타데이터를 가져옵니다.

매개변수:

  • publisherId (선택 사항): 검색할 게시자 ID

  • publisherDomain (선택 사항): 검색할 게시자 도메인

  • limit (선택 사항): 최대 결과 수 (1-100)

  • offset (선택 사항): 건너뛸 결과 수

참고: publisherId 또는 publisherDomain 중 하나는 반드시 제공되어야 합니다.

예시:

{
  "publisherDomain": "example.com"
}

get_publisher_by_domain

도메인 이름으로 단일 게시자를 가져옵니다.

매개변수:

  • domain (필수): 검색할 게시자 도메인

예시:

{
  "domain": "example.com"
}

get_publisher_by_id

게시자 ID로 단일 게시자를 가져옵니다.

매개변수:

  • publisherId (필수): 검색할 게시자 ID

예시:

{
  "publisherId": "12345"
}

compare_publishers

게시자를 유사한 게시자와 비교합니다(경쟁 벤치마크). 대상 게시자와 OpenSincera가 선별한 유사 게시자를 검색한 다음 주요 지표를 나란히 비교하여 생성합니다.

매개변수:

  • domain (필수): 벤치마킹할 게시자 도메인

  • device (선택 사항): 지표 비교에 사용할 기기 유형 — overall(기본값), mobile 또는 desktop

예시:

{
  "domain": "businessinsider.com",
  "device": "mobile"
}

evaluate_media

광고주 미디어 선택을 위해 여러 게시자 도메인의 점수를 산정하고 순위를 지정합니다. 각 게시자는 캠페인 목표에 따라 가중치가 부여된 광고 품질 지표, 공급망 상태 및 ID 커버리지를 기반으로 점수(0–100)를 받습니다.

매개변수:

  • domains (필수): 평가할 게시자 도메인 목록

  • campaignGoal (선택 사항): branding, performance 또는 balanced(기본값)

  • language (선택 사항): 출력 언어 — en(기본값) 또는 ja

  • device (선택 사항): 점수 산정에 사용할 기기 유형 — overall(기본값), mobile 또는 desktop

예시:

{
  "domains": ["nytimes.com", "washingtonpost.com", "reuters.com"],
  "campaignGoal": "branding",
  "device": "desktop"
}

health_check

OpenSincera API 연결의 상태를 확인합니다.

매개변수: 없음

응답 형식

게시자 메타데이터 응답

{
  "publishers": [
    {
      "publisherId": "1",
      "publisherName": "Business Insider",
      "ownerDomain": "insider-inc.com",
      "domain": "businessinsider.com",
      "status": "active",
      "lastUpdated": "2026-04-14T01:00:25.419Z",
      "categories": [],
      "verificationStatus": "verified",
      "parentEntityId": 59072,
      "similarPublishers": [41, 67, 405],
      "deviceMetrics": {
        "mobile": {
          "avgAdsToContentRatio": 0.265,
          "maxAdsToContentRatio": 1.0,
          "minAdsToContentRatio": 0.0,
          "avgAdUnitsInView": 1.611,
          "maxAdUnitsInView": 4.0,
          "averageRefreshRate": 58.441,
          "maxRefreshRate": 420.0,
          "minRefreshRate": 5.0,
          "percentageOfAdSlotsWithRefresh": 98.78
        },
        "desktop": {
          "avgAdsToContentRatio": 0.231,
          "maxAdsToContentRatio": 1.0,
          "minAdsToContentRatio": 0.0,
          "avgAdUnitsInView": 2.577,
          "maxAdUnitsInView": 9.0,
          "averageRefreshRate": 81.096,
          "maxRefreshRate": 590.0,
          "minRefreshRate": 5.0,
          "percentageOfAdSlotsWithRefresh": 84.99
        }
      },
      "metadata": {
        "description": "Business Insider tells the global tech, finance...",
        "primarySupplyType": "web",
        "avgAdsToContentRatio": 0.249,
        "avgAdsInView": 2.088,
        "avgAdRefresh": 72.489,
        "totalUniqueGpids": 946,
        "idAbsorptionRate": 0.5,
        "avgPageWeight": 27.843,
        "avgCpu": 254.671,
        "totalSupplyPaths": 118,
        "resellerCount": 69,
        "slug": "business-insider"
      }
    }
  ],
  "totalCount": 1,
  "hasMore": false
}

상태 확인 응답

{
  "healthy": true,
  "timestamp": "2026-04-14T10:00:00Z"
}

환경 변수

변수

설명

기본값

필수

OPENSINCERA_API_KEY

OpenSincera API 키

-

예

OPENSINCERA_BASE_URL

OpenSincera API 기본 URL

https://open.sincera.io/api

아니요

OPENSINCERA_TIMEOUT

요청 시간 제한(밀리초)

10000

아니요

오류 처리

서버는 일반적인 시나리오에 대해 포괄적인 오류 처리를 제공합니다:

  • 인증 오류 (401): 잘못되었거나 누락된 API 키

  • 권한 오류 (403): 권한 부족

  • 찾을 수 없음 오류 (404): 게시자를 찾을 수 없음

  • 속도 제한 (429): API 속도 제한 초과

  • 네트워크 오류: 연결 문제 또는 시간 초과

  • 유효성 검사 오류: 잘못된 입력 매개변수

개발

스크립트

  • npm run build - TypeScript 프로젝트 빌드

  • npm run dev - 핫 리로드와 함께 개발 모드로 실행

  • npm test - 테스트 실행

  • npm run lint - ESLint 실행

  • npm run format - Prettier로 코드 형식 지정

프로젝트 구조

src/
├── index.ts                 # Main MCP server entry point and tool definitions
├── opensincera-service.ts   # OpenSincera API client and data models
├── metadata-descriptions.ts # Field descriptions and formatted output
└── analysis.ts              # Scoring, comparison, and evaluation logic

기여

  1. 저장소 포크

  2. 기능 브랜치 생성

  3. 변경 사항 적용

  4. 새로운 기능에 대한 테스트 추가

  5. 테스트 제품군 실행

  6. 풀 리퀘스트 제출

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.

지원

이 MCP 서버와 관련된 문제는 GitHub에서 이슈를 열어주십시오.

OpenSincera API 관련 문제는 OpenSincera 지원팀에 직접 문의하십시오.

변경 로그

v1.0.4

  • device_level_metrics 지원 추가: A2CR, 노출된 광고, 광고 새로고침 빈도(평균/최소/최대) 및 새로고침이 있는 광고 슬롯 비율에 대한 모바일 및 데스크톱 분석

  • compare_publishers 도구 추가: 유사 게시자와의 나란히 경쟁 벤치마크

  • evaluate_media 도구 추가: 캠페인 목표(브랜딩/성과/균형)별 여러 게시자의 점수 산정 및 순위 지정

  • compare_publishers 및 evaluate_media에 모바일/데스크톱별 분석을 위한 device 매개변수 추가

  • 점수 산정 및 보고 로직을 위한 analysis.ts 모듈 추가

v1.0.3

  • 게시자 비교 및 평가 기능 추가

  • owner_domain, domain, parent_entity_id 및 similar_publishers를 포함하도록 게시자 메타데이터 구조 업데이트

v1.0.2

  • 버전 업데이트 및 안정성 개선

v1.0.0

  • 초기 릴리스

  • 기본 게시자 조회 기능

  • 상태 확인 엔드포인트

  • 포괄적인 오류 처리

  • 입력 유효성 검사

Available Tools

4 tools
get_publisher_by_domainB

Get detailed publisher information by domain name with comprehensive metric descriptions. Returns formatted data including performance metrics, supply chain information, and detailed explanations of each field's meaning and business impact.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublisher domain to search for

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention the comprehensive nature of the returned data ('performance metrics, supply chain information, detailed explanations'), which adds useful context about output richness. However, it doesn't address important behavioral aspects like error handling, rate limits, authentication requirements, or whether this is a read-only operation (though 'get' implies it likely is).

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 reasonably concise with two sentences that pack substantial information. The first sentence states the core functionality, while the second elaborates on the return data. There's no obvious fluff or redundancy. However, it could be slightly more front-loaded by mentioning the comprehensive return data earlier.

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 single parameter with full schema coverage and no output schema, the description provides adequate but incomplete context. It helpfully describes the richness of the return data ('comprehensive metric descriptions', 'performance metrics', 'supply chain information'), which compensates for the missing output schema. However, for a tool that returns complex data structures, more detail about the response format would be beneficial.

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 input schema has 100% description coverage, with the single 'domain' parameter clearly documented. The description doesn't add any parameter-specific information beyond what the schema already provides. It mentions 'domain name' but doesn't elaborate on format requirements, validation rules, or examples. The baseline score of 3 is appropriate when the schema does the heavy lifting.

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 tool's purpose: 'Get detailed publisher information by domain name' which is a specific verb+resource combination. It distinguishes itself from sibling tools like 'get_publisher_by_id' by specifying the domain-based lookup approach. However, it doesn't explicitly contrast with 'get_publisher_metadata' which might have overlapping functionality.

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 guidance on when to use this tool versus alternatives. While it mentions domain-based lookup, it doesn't specify when to choose this over 'get_publisher_by_id' (ID-based lookup) or 'get_publisher_metadata' (which might provide different metadata). There's no mention of prerequisites, error conditions, or typical use cases.

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

get_publisher_by_idC

Get detailed publisher information by Publisher ID with comprehensive metric descriptions. Returns formatted data including performance metrics, supply chain information, and detailed explanations of each field's meaning and business impact.

ParametersJSON Schema
NameRequiredDescriptionDefault
publisherIdYesPublisher ID to search for

TDQS

C2.9/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 the full burden of behavioral disclosure. It describes the return content ('formatted data including performance metrics, supply chain information, and detailed explanations') but lacks critical behavioral details such as error handling (e.g., what happens if the ID is invalid), authentication requirements, rate limits, or data freshness. For a read operation with zero annotation coverage, this is a significant gap.

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 appropriately sized and front-loaded, starting with the core purpose. Both sentences earn their place: the first defines the action and scope, and the second elaborates on the return data. There's no unnecessary verbosity, making it efficient for an agent to parse.

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's complexity (a single-parameter read operation) and the absence of annotations and output schema, the description is moderately complete. It covers the purpose and return content but misses behavioral aspects like error handling or prerequisites. Without an output schema, it should ideally detail the return structure more explicitly, but it provides enough context for basic use, albeit with gaps.

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 input schema has 100% description coverage, with the single parameter 'publisherId' documented as 'Publisher ID to search for.' The description adds minimal value beyond this, only implying the parameter is used to fetch data. Since the schema already does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't provide additional syntax, format, or usage details for the parameter.

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 tool's purpose: 'Get detailed publisher information by Publisher ID with comprehensive metric descriptions.' It specifies the verb ('Get'), resource ('publisher information'), and key identifier ('Publisher ID'). However, it doesn't explicitly differentiate from sibling tools like get_publisher_by_domain or get_publisher_metadata, which likely retrieve similar data using different identifiers or scopes.

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 guidance on when to use this tool versus alternatives. It mentions the tool retrieves data by Publisher ID but doesn't compare it to siblings like get_publisher_by_domain (which might use a domain instead) or get_publisher_metadata (which could offer different data types). Without such context, an agent might struggle to choose the correct tool for a given scenario.

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

get_publisher_metadataA

Get detailed publisher metadata from OpenSincera API with comprehensive field descriptions. Requires either publisherId or publisherDomain.

Returns publisher information including:

  • Basic Info: Publisher ID, name, domain, status, verification status, contact info, categories

  • Performance Metrics: Ads to Content Ratio (A2CR), Ads in View, Ad Refresh Rate, Page Weight, CPU Usage

  • Supply Chain: Total Supply Paths, Reseller Count, Global Publisher IDs (GPIDs)

  • Identity: ID Absorption Rate

Each metric includes detailed explanations of what it measures and its business implications.

ParametersJSON Schema
NameRequiredDescriptionDefault
publisherIdNoPublisher ID to search for
publisherDomainNoPublisher domain to search for
limitNoMaximum number of results to return (1-100)
offsetNoNumber of results to skip

TDQS

A3.8/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 full burden. It discloses that the tool returns detailed publisher information with metrics and explanations, which adds behavioral context. However, it lacks details on error handling, rate limits, authentication needs, or response format structure, leaving gaps for a tool with no annotation coverage.

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 appropriately sized and front-loaded, starting with the core purpose and requirements. The bullet-point list efficiently organizes return information, but some sentences could be more concise (e.g., 'Each metric includes detailed explanations...' might be implied). Overall, it earns its place with minimal waste.

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 no annotations and no output schema, the description provides good context on what the tool does and returns, including metric explanations. However, it lacks details on error cases, response format, or pagination behavior (implied by limit/offset but not explained), making it incomplete for full agent understanding without structured data.

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 already documents all parameters (publisherId, publisherDomain, limit, offset). The description adds value by specifying that either publisherId or publisherDomain is required, which clarifies semantics beyond the schema's optional parameters. However, it does not provide additional details on parameter interactions or usage examples.

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's purpose with a specific verb ('Get') and resource ('detailed publisher metadata from OpenSincera API'), including comprehensive field descriptions. It distinguishes from sibling tools (get_publisher_by_domain, get_publisher_by_id) by emphasizing comprehensive metadata rather than basic lookup, and explicitly mentions it accepts either publisherId or publisherDomain.

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 provides clear context for when to use this tool ('Requires either publisherId or publisherDomain') and implies usage for detailed metadata. However, it does not explicitly state when to use this vs. the sibling tools (e.g., get_publisher_by_domain/get_publisher_by_id), which might be for simpler lookups, nor does it mention exclusions or alternatives.

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

health_checkB

Check the health status of the OpenSincera API connection

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe what 'health status' means (e.g., returns success/failure, latency metrics, error details), whether it requires authentication, or what happens on failure. This leaves significant behavioral gaps for a monitoring tool.

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, focused sentence with no wasted words. It's front-loaded with the core purpose and efficiently communicates the essential information without unnecessary elaboration.

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 health check tool with no annotations and no output schema, the description is insufficient. It doesn't explain what constitutes 'health status' or what the return values might be (e.g., boolean status, detailed diagnostics, error messages). Given the lack of structured fields, the description should provide more operational context.

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 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description appropriately doesn't discuss parameters, maintaining focus on the tool's purpose. Baseline for 0 parameters is 4.

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 action ('Check') and target ('health status of the OpenSincera API connection'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools (which are all publisher-related), though this may not be necessary since health_check serves a distinct monitoring purpose.

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 usage for verifying API connectivity, but provides no explicit guidance on when to use it versus alternatives or prerequisites. It doesn't mention if this should be used before other operations or as a diagnostic tool, leaving usage context somewhat vague.

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 updatesv1.0.0
    • Changedget_publisher_by_domain1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_publisher_by_id1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_publisher_metadata1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedhealth_check1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
  2. 4 tool updates
    • First observedget_publisher_by_domain
    • First observedget_publisher_by_id
    • First observedget_publisher_metadata
    • First observedhealth_check

TDQS

B3.1/5.0

Scored across 4 tools

Disambiguation3/5

The first three tools (get_publisher_by_domain, get_publisher_by_id, get_publisher_metadata) have overlapping purposes, as they all retrieve publisher information with only slight variations in input parameters, which could cause confusion for an agent. However, the health_check tool is clearly distinct, providing a separate API connection check function.

Naming Consistency4/5

The tool names follow a consistent verb_noun pattern (e.g., get_publisher_by_domain, health_check), with all using snake_case. The only minor deviation is that health_check uses a compound noun without a preceding verb like 'get', but it still fits the general naming convention.

Tool Count3/5

With only 4 tools, the server feels thin for its apparent domain of publisher analytics, as it lacks operations for updating, creating, or deleting data, which limits functionality. However, the count is reasonable for a basic read-only interface.

Completeness2/5

The tool set is severely incomplete for a publisher analytics domain, as it only provides read operations (get and health check) without any create, update, or delete capabilities. This creates significant gaps that could lead to agent failures when full lifecycle management is needed.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Deprecated. This server has merged into mcp-walmart-ads (>= 0.2.0), which serves the same 28 Walmart Marketplace domains alongside Walmart Connect Ads and Sam's Club Sponsored Ads.
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides access to the OpenAlex API, enabling search and retrieval of scholarly works, authors, sources, and more.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables searching and retrieving researcher profiles, works, affiliations, funding, and peer review records from the ORCID registry via MCP, supporting STDIO or Streamable HTTP.
    394 npm
    5
    Apache 2.0