AddressPenny MCP Server
@addresspenny/mcp
Addresspenny 주소 유효성 검사를 위한 Model Context Protocol 서버입니다. Claude Desktop, Cursor 및 모든 MCP 호환 에이전트가 우편 주소를 검증하고, 목록을 일괄 정리하며, 자유 형식 텍스트에서 주소를 추출할 수 있게 합니다.
도구
validate_address— 단일 우편 주소를 검증합니다. 표준화된 주소와 유효성 검사 메타데이터를 반환합니다. 1 크레딧이 소모됩니다.bulk_validate— 한 번의 호출로 최대 100개의 주소를 검증합니다. 주소당 1 크레딧이 소모됩니다.parse_and_validate— 비정형 텍스트(채팅, 대화 기록, 스크랩된 페이지 등)에서 모든 우편 주소를 추출하고 각각을 검증합니다. 추출 및 검증된 주소당 1 크레딧이 소모됩니다.
Related MCP server: Personal Toolkit MCP Server
요구 사항
Node.js 18 이상
API 토큰과 토큰의 계정 ID가 있는 Addresspenny 계정 — addresspenny.com에서 둘 다 생성할 수 있습니다.
구성
이 서버는 세 가지 환경 변수를 읽습니다:
변수 | 필수 여부 | 기본값 | 참고 |
| 예 | — | Addresspenny에서 발급받은 API 토큰 |
| 예 | — | 접두사가 붙은 계정 ID (예: |
| 아니요 |
| 자체 호스팅 또는 스테이징용 재정의 |
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) 또는 운영체제에 해당하는 파일을 편집하세요:
{
"mcpServers": {
"addresspenny": {
"command": "npx",
"args": ["-y", "@addresspenny/mcp"],
"env": {
"ADDRESSPENNY_API_KEY": "your-api-token",
"ADDRESSPENNY_ACCOUNT_ID": "acct_your_account_id"
}
}
}
}Claude Desktop을 재시작하세요. 채팅 입력창의 도구 아이콘 아래에 도구가 나타납니다.
Cursor
~/.cursor/mcp.json에 추가하세요:
{
"mcpServers": {
"addresspenny": {
"command": "npx",
"args": ["-y", "@addresspenny/mcp"],
"env": {
"ADDRESSPENNY_API_KEY": "your-api-token",
"ADDRESSPENNY_ACCOUNT_ID": "acct_your_account_id"
}
}
}
}로컬 개발
npm install
npm run build
ADDRESSPENNY_API_KEY=... ADDRESSPENNY_ACCOUNT_ID=... node build/index.js이 서버는 stdio를 통해 MCP를 사용합니다. 직접 실행하기 위한 것이 아니며, 위의 설정을 사용하여 MCP 클라이언트를 연결하세요.
라이선스
MIT
Available Tools
3 toolsbulk_validateA
Validate up to 100 postal addresses in a single request. Consumes 1 credit per address. Returns an array where each entry is either a validated address or an error.
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | Array of address strings to validate (max 100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It discloses credit consumption (1 per address) and return format (array of validated address or error), which are key behavioral traits. It does not detail authorization needs or rate limits, but the provided information is adequate for safe invocation.
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?
The description is two sentences and conveys all essential information without extraneous text. It is front-loaded with the main action and then adds cost and return details, making it efficient and easy to parse.
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?
For a tool with one parameter and no output schema, the description covers usage limits, cost, and return structure. However, it does not mention error handling behaviors (e.g., partial failures) or contrast with sibling tools, leaving some gaps for an agent to fully understand context.
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?
The input schema covers the single parameter 'addresses' with a description that already states 'max 100'. The tool description adds no additional meaning beyond what the schema provides (e.g., no format examples or expected address standards). With 100% schema coverage, baseline 3 is appropriate.
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 clearly states the tool validates postal addresses in bulk, with a specific limit of 100 addresses. It also mentions credit consumption and return format, making the purpose unambiguous. The sibling tools 'parse_and_validate' and 'validate_address' suggest different scopes, but the description implicitly differentiates by focusing on batch processing.
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 provides context (single request, up to 100 addresses) but does not explicitly state when to use this tool versus alternatives like 'validate_address' for single address validation. No exclusions or prerequisites are mentioned, leaving the agent to infer usage without clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_and_validateA
Extract postal addresses from unstructured text (emails, chat messages, call transcripts, scraped pages) and validate each one. Consumes 1 credit per extracted and validated address. Returns an empty list if no complete addresses are found.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Freeform text that may contain zero or more postal addresses. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behaviors. It mentions a specific cost ('Consumes 1 credit per extracted and validated address') and return behavior ('Returns an empty list if no complete addresses are found'). These are useful traits beyond mere function. It does not explicitly state side effects or permissions, but extraction and validation are likely read-only operations.
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?
The description is three sentences: first states the core action, second adds cost transparency, third describes the empty result case. Every sentence is informative and earns its place. It is front-loaded with the most important 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?
While the description covers the core function, cost, and empty result, it lacks details about the output format (e.g., what does a validated address look like? Is it a string? An object with components?). With no output schema, the description should explain the successful return structure. Additionally, no information is given about error handling, input size limits, or validation criteria.
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?
The single parameter 'text' has 100% schema coverage with a description that clarifies it is freeform text containing zero or more addresses. The tool description adds concrete examples of what constitutes 'unstructured text' (emails, chat messages, etc.), providing meaning beyond the schema's generic description.
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 clearly states that the tool extracts postal addresses from unstructured text and validates them. It specifies the verb 'extract and validate' and the resource 'postal addresses from unstructured text'. The examples of input types (emails, chat messages, etc.) differentiate it from sibling tools like 'validate_address' which likely handle already identified addresses.
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 provides clear examples of when to use this tool (emails, chat messages, call transcripts, scraped pages). It does not explicitly state when not to use it or mention alternatives, but the context strongly implies it is for extraction and validation from raw text, distinguishing it from siblings that may operate on structured inputs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_addressA
Validate a single postal address. Returns the standardized address, deliverability status, and validation metadata. Consumes 1 credit.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Full or partial postal address as a single string, e.g. '1600 Amphitheatre Pkwy, Mountain View, CA' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses that it returns standardized address, deliverability status, and validation metadata, and that it consumes 1 credit. These are useful behavioral details. However, it doesn't mention whether the tool is idempotent, whether it modifies data, or any error conditions beyond what's implied.
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?
The description is extremely concise, consisting of two short sentences. No unnecessary words, every sentence adds clear value.
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?
Given the tool's simplicity (one parameter, no output schema), the description is fairly complete: it explains the input format, output types, and cost. However, it lacks any guidance on when to use siblings, which would improve completeness for agents choosing between tools.
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?
The schema already covers the single parameter with a description. The tool's description adds no additional parameter-level semantics beyond what the schema provides, but the schema itself is very clear with an example format. Since schema coverage is 100%, baseline 3, and the description doesn't add much extra, a score of 4 is appropriate as it confirms the meaning without redundancy.
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 clearly states the verb 'Validate' and the resource 'postal address', and specifies returns (standardized address, deliverability status, validation metadata). The naming and description distinguish it from siblings 'bulk_validate' and 'parse_and_validate' by emphasizing single address validation.
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 implies this is for single address validation and mentions credit consumption, but provides no explicit guidance on when to choose this tool over siblings. For example, it doesn't state that 'bulk_validate' should be used for multiple addresses or when to use 'parse_and_validate' instead.
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.
3 tool updates
v0.1.4- First observed
bulk_validate - First observed
parse_and_validate - First observed
validate_address
TDQS
Scored across 3 tools
Each tool has a distinct purpose: bulk_validate for multiple addresses, validate_address for a single address, and parse_and_validate for extracting addresses from text. No overlap exists.
Tools share the 'validate' root but naming patterns differ: bulk_validate and validate_address follow a verb-like pattern, while parse_and_validate uses two verbs joined by 'and', breaking consistency.
Three tools are appropriate for the domain: single validation, batch validation, and text extraction. The count is well-scoped and each tool earns its place.
Core address validation operations are covered (single, bulk, extraction from text). Missing features like credit management or account info are minor gaps that do not hinder core functionality.
Maintenance
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Related MCP Servers
- FlicenseBqualityDmaintenanceAn MCP server that enables Claude Desktop to communicate with A2A protocol agents, allowing Claude to access extended capabilities through agent interactions.322-
- FlicenseNot gradedqualityDmaintenanceA local MCP server providing text utilities, math functions, and a persistent todo list, enabling task automation via natural language in Claude Desktop.-
- AlicenseNot gradedqualityFmaintenanceMCP server that lets AI agents create reviewable physical mail drafts, validate quotes, and pay for postage via MPP or x402 protocols.2MIT
- AlicenseAqualityAmaintenanceAn MCP server that exposes ISO 20022 postal-address classification, assessment, and remediation tools for AI agents, enabling them to prepare debtor/creditor addresses for the November 2026 structured-address cutover.13384 PyPI1Apache 2.0