HammerTech MCP by usefulapi
Read projects, inspections, issues, incidents, permits and site sign-ins in HammerTech.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"hammertech": {
"url": "https://hammertech.usefulapi.io/mcp"
}
}
}远程端点
https://hammertech.usefulapi.io/mcpstreamable-http它能做什么
工具清单
工具(10)
🟢hammertech_list_projects(select, top, skip, filter, orderby)
List projects: GET /v0.1/projects on the HammerTech Reporting API. Read only. Pass select with the fields you need (required). Example field names: ProjectId, ProjectName, ProjectState, ProjectCountry, RegionName, IsArchived, ExpectedStartDate, LastModifiedDate. Results page with top and skip; follow nextSkip while hasMore is true.
输入模式
{
"type": "object",
"properties": {
"select": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_]*$"
},
"description": "Field names to return. Required: only the fields named here leave the API, so personal fields stay out unless asked for."
},
"top": {
"description": "Rows to return (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"skip": {
"description": "Rows to skip. Use nextSkip from the last result to read on.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"filter": {
"description": "OData $filter, for example: ProjectId eq '<project guid>'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, for example: LastModifiedDate desc.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"select"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hammertech_list_locations(select, top, skip, filter, orderby)
List locations: GET /v0.1/locations on the HammerTech Reporting API. Read only. Pass select with the fields you need (required). Example field names: LocationId, ProjectId, ParentLocationId, Name, ExpandedFullName, IsDeleted. Results page with top and skip; follow nextSkip while hasMore is true.
输入模式
{
"type": "object",
"properties": {
"select": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_]*$"
},
"description": "Field names to return. Required: only the fields named here leave the API, so personal fields stay out unless asked for."
},
"top": {
"description": "Rows to return (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"skip": {
"description": "Rows to skip. Use nextSkip from the last result to read on.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"filter": {
"description": "OData $filter, for example: ProjectId eq '<project guid>'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, for example: LastModifiedDate desc.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"select"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hammertech_list_attendees(select, top, skip, filter, orderby)
List inspection attendees: GET /v0.1/attendees on the HammerTech Reporting API. Read only. Pass select with the fields you need (required). Example field names: AttendeeId, InspectionId, InspectionTypeName, InspectionDateTime, ProjectId, ProjectName, AttendeeCompany, LastModifiedDate. Results page with top and skip; follow nextSkip while hasMore is true.
输入模式
{
"type": "object",
"properties": {
"select": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_]*$"
},
"description": "Field names to return. Required: only the fields named here leave the API, so personal fields stay out unless asked for."
},
"top": {
"description": "Rows to return (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"skip": {
"description": "Rows to skip. Use nextSkip from the last result to read on.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"filter": {
"description": "OData $filter, for example: ProjectId eq '<project guid>'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, for example: LastModifiedDate desc.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"select"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hammertech_list_inspections(select, top, skip, filter, orderby)
List inspections: GET /v0.1/inspections on the HammerTech Reporting API. Read only. Pass select with the fields you need (required). Example field names: InspectionId, ProjectId, InspectionDate, InspectionTypeName, LocationName, DateCompleted, OpenIssuesCount, IsAdhoc, LastModifiedDate. Results page with top and skip; follow nextSkip while hasMore is true.
输入模式
{
"type": "object",
"properties": {
"select": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_]*$"
},
"description": "Field names to return. Required: only the fields named here leave the API, so personal fields stay out unless asked for."
},
"top": {
"description": "Rows to return (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"skip": {
"description": "Rows to skip. Use nextSkip from the last result to read on.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"filter": {
"description": "OData $filter, for example: ProjectId eq '<project guid>'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, for example: LastModifiedDate desc.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"select"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hammertech_list_observations(select, top, skip, filter, orderby)
List inspection observations: GET /v0.1/observations on the HammerTech Reporting API. Read only. Pass select with the fields you need (required). Example field names: ObservationId, ProjectId, InspectionId, InspectionType, QuestionText, AnswerString, IssueCountOpen, LastModifiedDate. Results page with top and skip; follow nextSkip while hasMore is true.
输入模式
{
"type": "object",
"properties": {
"select": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_]*$"
},
"description": "Field names to return. Required: only the fields named here leave the API, so personal fields stay out unless asked for."
},
"top": {
"description": "Rows to return (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"skip": {
"description": "Rows to skip. Use nextSkip from the last result to read on.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"filter": {
"description": "OData $filter, for example: ProjectId eq '<project guid>'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, for example: LastModifiedDate desc.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"select"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hammertech_list_issues(select, top, skip, filter, orderby)
List issues: GET /v0.1/issues on the HammerTech Reporting API. Read only. Pass select with the fields you need (required). Example field names: Id, ProjectId, Description, Priority, Status, DueDate, DateFixed, ResponsibleParty, ReferenceNumber, LastModifiedDate. Results page with top and skip; follow nextSkip while hasMore is true.
输入模式
{
"type": "object",
"properties": {
"select": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_]*$"
},
"description": "Field names to return. Required: only the fields named here leave the API, so personal fields stay out unless asked for."
},
"top": {
"description": "Rows to return (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"skip": {
"description": "Rows to skip. Use nextSkip from the last result to read on.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"filter": {
"description": "OData $filter, for example: ProjectId eq '<project guid>'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, for example: LastModifiedDate desc.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"select"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hammertech_list_incidents(select, top, skip, filter, orderby)
List incident reports: GET /v0.1/incidents on the HammerTech Reporting API. Read only. Pass select with the fields you need (required). Example field names: IncidentId, ProjectId, ProjectName, IncidentTypeName, DateOfIncident, IsNearMiss, IsReportable, Status, ReferenceNumber, LastModifiedDate. Results page with top and skip; follow nextSkip while hasMore is true.
输入模式
{
"type": "object",
"properties": {
"select": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_]*$"
},
"description": "Field names to return. Required: only the fields named here leave the API, so personal fields stay out unless asked for."
},
"top": {
"description": "Rows to return (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"skip": {
"description": "Rows to skip. Use nextSkip from the last result to read on.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"filter": {
"description": "OData $filter, for example: ProjectId eq '<project guid>'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, for example: LastModifiedDate desc.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"select"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hammertech_list_injuries(select, top, skip, filter, orderby)
List injury records: GET /v0.1/injuries on the HammerTech Reporting API. Read only. Pass select with the fields you need (required). Example field names: InjuryId, ProjectId, ProjectName, DateTimeOfInjury, TreatmentType, IsLostTimeInjury, ShiftsLost, ReferenceNumber, LastModifiedDate. Results page with top and skip; follow nextSkip while hasMore is true.
输入模式
{
"type": "object",
"properties": {
"select": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_]*$"
},
"description": "Field names to return. Required: only the fields named here leave the API, so personal fields stay out unless asked for."
},
"top": {
"description": "Rows to return (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"skip": {
"description": "Rows to skip. Use nextSkip from the last result to read on.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"filter": {
"description": "OData $filter, for example: ProjectId eq '<project guid>'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, for example: LastModifiedDate desc.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"select"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hammertech_list_permits(select, top, skip, filter, orderby)
List permits: GET /v0.1/permits on the HammerTech Reporting API. Read only. Pass select with the fields you need (required). Example field names: PermitId, ProjectId, ProjectName, PermitTypeName, PermitStatus, TimeStarted, TimeCompleted, Location, LastModifiedDate. Results page with top and skip; follow nextSkip while hasMore is true.
输入模式
{
"type": "object",
"properties": {
"select": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_]*$"
},
"description": "Field names to return. Required: only the fields named here leave the API, so personal fields stay out unless asked for."
},
"top": {
"description": "Rows to return (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"skip": {
"description": "Rows to skip. Use nextSkip from the last result to read on.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"filter": {
"description": "OData $filter, for example: ProjectId eq '<project guid>'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, for example: LastModifiedDate desc.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"select"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hammertech_list_site_sign_ins(select, top, skip, filter, orderby)
List site sign-ins: GET /v0.1/siteSignIns on the HammerTech Reporting API. Read only. Pass select with the fields you need (required). Example field names: Id, ProjectId, ProjectName, StartTime, FinishTime, WorkerEmployerName, VisitorEmployerName, VisitorReason, LastModifiedDate. Results page with top and skip; follow nextSkip while hasMore is true.
输入模式
{
"type": "object",
"properties": {
"select": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_]*$"
},
"description": "Field names to return. Required: only the fields named here leave the API, so personal fields stay out unless asked for."
},
"top": {
"description": "Rows to return (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"skip": {
"description": "Rows to skip. Use nextSkip from the last result to read on.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"filter": {
"description": "OData $filter, for example: ProjectId eq '<project guid>'.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"orderby": {
"description": "OData $orderby, for example: LastModifiedDate desc.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"select"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据