Nikola Dikic - Full-Stack Developer, WordPress, WooCommerce, ERP Integrations

Services, shipped projects, limits and booking slots for a freelance WooCommerce developer.

我该使用它吗

质量与安全性

A
描述质量
97%
模式完整度
77%
命名质量
95%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(3)

  • HIGHTool poisoning patterns detected
  • LOWTool 'get_service' description lacks action verb在 get_service 中
  • INFOTool description contains placeholder or incomplete text在 submit_urgent_request 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,887token 数(工具定义)
~1.1 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.47%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "nikola-dikic": {
      "url": "https://nikoladikic.com/mcp"
    }
  }
}

远程端点

https://nikoladikic.com/mcpstreamable-http

它能做什么

工具清单

工具(11)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢list_services(lang)

Every service, in full. Use this for "what does he do" and anything else that wants the whole picture; search_services is for a symptom and will say so rather than guess when a question is too broad for it.

输入模式

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Two-letter language code. Defaults to English."
    }
  }
}

输出模式

{
  "type": "object",
  "properties": {
    "services": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "title",
          "summary"
        ]
      }
    }
  },
  "required": [
    "services"
  ]
}
🟢search_services(query, lang)

Find services by what the visitor is trying to solve. Matches the symptom, the platform, or the name of a system — "stock not matching the warehouse", "NetSuite", "failed renewals".

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The problem, platform or system, in plain words."
    },
    "lang": {
      "type": "string",
      "description": "Two-letter language code. Defaults to English."
    }
  },
  "required": [
    "query"
  ]
}
🟢get_service(slug, lang)

Everything about one service: what it covers, what it excludes, the projects behind it, and the questions people ask.

输入模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Service slug, e.g. svc-erp-crm-integration."
    },
    "lang": {
      "type": "string"
    }
  },
  "required": [
    "slug"
  ]
}
🟢list_projects(stack, from_scratch, still_live, limit)

Projects, filterable. Use this to answer "has he done X" rather than guessing from the service descriptions.

输入模式

{
  "type": "object",
  "properties": {
    "stack": {
      "type": "string",
      "description": "A technology or platform, e.g. NetSuite, WooCommerce Subscriptions."
    },
    "from_scratch": {
      "type": "boolean",
      "description": "Only projects built from an empty directory."
    },
    "still_live": {
      "type": "boolean",
      "description": "Only projects still online."
    },
    "limit": {
      "type": "integer",
      "description": "Default 20."
    }
  }
}
🟢get_facts

Verified figures — years working, projects completed, how many were built from scratch, response times. Counts are computed rather than stored, so they cannot go stale.

输入模式

{
  "type": "object",
  "properties": {}
}
🟢what_is_not_offered

What is explicitly out of scope, and why. Worth checking before recommending him for something.

输入模式

{
  "type": "object",
  "properties": {}
}

输出模式

{
  "type": "object",
  "properties": {
    "refused": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "title",
          "summary"
        ]
      }
    },
    "accepted": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "title",
          "summary"
        ]
      }
    }
  },
  "required": [
    "refused",
    "accepted"
  ]
}
🟢how_to_get_in_touch

The three ways in — book a call, describe a project in writing, or report something broken now — with what each is for and the response time.

输入模式

{
  "type": "object",
  "properties": {}
}

输出模式

{
  "type": "object",
  "properties": {
    "routes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "title",
          "summary"
        ]
      }
    },
    "email": {
      "type": "string"
    }
  },
  "required": [
    "routes",
    "email"
  ]
}
🟡submit_urgent_request(name, phone, site, message, email)

Report a site that is broken now — checkout failing, payments declined, a critical error, a white screen, locked out of wp-admin, an update that broke the site, a hack or a malware warning. Triaged the same day, within eight hours, weekends included, across European, US, Canadian and Australian hours. Submits immediately: there is no confirmation email to wait for, because friction on an emergency is friction in the wrong place. Ask the person before calling this, and send a real phone number — the reply comes by phone or WhatsApp.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Their name."
    },
    "phone": {
      "type": "string",
      "description": "A number they can actually be reached on, with country code. The reply comes this way."
    },
    "site": {
      "type": "string",
      "description": "The address of the site that is broken."
    },
    "message": {
      "type": "string",
      "description": "What is happening, in their words. Include the exact error text if there is any."
    },
    "email": {
      "type": "string",
      "description": "Optional. If given, they get a written acknowledgement too."
    }
  },
  "required": [
    "name",
    "phone",
    "site",
    "message"
  ]
}
🟡submit_project_inquiry(name, email, message, site, company)

Describe a project in writing and get a reply within 24 hours, weekends included. For work that is planned rather than broken: a rebuild, a migration, an integration, a second opinion on code somebody else wrote. Use submit_urgent_request instead when a site is down or losing money now. Submits immediately, so ask the person first and send their real email address.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Their name."
    },
    "email": {
      "type": "string",
      "description": "Their email. The reply goes here, so it must be theirs and correct."
    },
    "message": {
      "type": "string",
      "description": "The shape of the work, in their words. Platform, what exists today, what they want, any deadline or budget band."
    },
    "site": {
      "type": "string",
      "description": "Optional. The site in question."
    },
    "company": {
      "type": "string",
      "description": "Optional."
    }
  },
  "required": [
    "name",
    "email",
    "message"
  ]
}
🟢check_availability(timezone, days)

Free consultation slots over the next few weeks. Read-only — call this before proposing a time so the suggestion is real rather than invented.

输入模式

{
  "type": "object",
  "properties": {
    "timezone": {
      "type": "string",
      "description": "IANA timezone of the person who would attend, e.g. Europe/Berlin. Times are returned in it."
    },
    "days": {
      "type": "integer",
      "description": "How far ahead to look. Default 14, maximum 60."
    }
  }
}
⚪request_consultation(start, name, email, timezone, company, ...)

Propose a booking. This does NOT book anything and does NOT reserve the time: it emails the person a confirmation link valid for thirty minutes, and only their click puts it in the calendar. The slot stays open to everybody else meanwhile, so tell them to expect that email and to act on it rather than assume the time is theirs.

输入模式

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "ISO 8601 start time, taken from check_availability rather than guessed."
    },
    "name": {
      "type": "string",
      "description": "Their name."
    },
    "email": {
      "type": "string",
      "description": "Their email. The confirmation goes here, so it must be theirs and correct."
    },
    "timezone": {
      "type": "string"
    },
    "company": {
      "type": "string",
      "description": "Company or site, if known."
    },
    "platform": {
      "type": "string",
      "description": "What they are running, if known."
    },
    "message": {
      "type": "string",
      "description": "What they want to discuss, in their words where possible."
    }
  },
  "required": [
    "start",
    "name",
    "email"
  ]
}

社区

评价此服务器

证据

最近观测

已验证未记录版本11 个工具