About GetIpInfo
GetIpInfo is an MCP server project scaffold built with mcp-framework, described as a way to retrieve IP information by address. The README shows an example tool and setup guidance, but does not specify the IP lookup implementation.
Key features
- 01MCP server built with mcp-framework
- 02Example tool scaffold
- 03CLI-based tool creation
- 04Build and npm publishing guidance
Use cases
- 01Create MCP tools for IP information lookup
- 02Add tools to an existing server project
MCP support
It is an MCP server intended to load tools for MCP clients such as Claude Desktop. The README provides local and npx configuration examples.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
http://ip-mcp.stanlee.top/mcpclaude mcp add --transport http get-ip http://ip-mcp.stanlee.top/mcp{"mcpServers":{"get-ip":{"type":"http","url":"http://ip-mcp.stanlee.top/mcp"}}}Open in Cursor{"servers":{"get-ip":{"type":"http","url":"http://ip-mcp.stanlee.top/mcp"}}}Open in VS Code{"mcpServers":{"get-ip":{"type":"http","url":"http://ip-mcp.stanlee.top/mcp"}}}{"mcpServers":{"get-ip":{"serverUrl":"http://ip-mcp.stanlee.top/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEget-ip-mcp-server
A Model Context Protocol (MCP) server built with mcp-framework.
Quick Start
# Install dependencies
npm install
# Build the project
npm run build
Project Structure
get-ip-mcp-server/
├── src/
│ ├── tools/ # MCP Tools
│ │ └── ExampleTool.ts
│ └── index.ts # Server entry point
├── package.json
└── tsconfig.json
Adding Components
The project comes with an example tool in src/tools/ExampleTool.ts. You can add more tools using the CLI:
# Add a new tool
mcp add tool my-tool
# Example tools you might create:
mcp add tool data-processor
mcp add tool api-client
mcp add tool file-handler
Tool Development
Example tool structure:
import { MCPTool } from "mcp-framework";
import { z } from "zod";
interface MyToolInput {
message: string;
}
class MyTool extends MCPTool<MyToolInput> {
name = "my_tool";
description = "Describes what your tool does";
schema = {
message: {
type: z.string(),
description: "Description of this input parameter",
},
};
async execute(input: MyToolInput) {
// Your tool logic here
return `Processed: ${input.message}`;
}
}
export default MyTool;
Publishing to npm
-
Update your package.json:
- Ensure
nameis unique and follows npm naming conventions - Set appropriate
version - Add
description,author,license, etc. - Check
binpoints to the correct entry file
- Ensure
-
Build and test locally:
npm run build npm link get-ip-mcp-server # Test your CLI locally -
Login to npm (create account if necessary):
npm login -
Publish your package:
npm publish
After publishing, users can add it to their claude desktop client (read below) or run it with npx
## Using with Claude Desktop
### Local Development
Add this configuration to your Claude Desktop config file:
**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"get-ip-mcp-server": {
"command": "node",
"args":["/absolute/path/to/get-ip-mcp-server/dist/index.js"]
}
}
}
After Publishing
Add this configuration to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"get-ip-mcp-server": {
"command": "npx",
"args": ["get-ip-mcp-server"]
}
}
}
Building and Testing
- Make changes to your tools
- Run
npm run buildto compile - The server will automatically load your tools on startup
Learn More
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.