MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Other

welance/directory

Match a project brief with small vetted software teams, anonymously; sign in to manage your own.

Checks passed
12 / 22

2 failed · 8 not measured

Median response
281 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
20

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 281 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name welance-directory.

  • Pass
    Lists tools

    tools/list returned 20 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 281 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 281 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    12 of 50 parameters have a description (24%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-10-27T16:08:44.85371Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using welance/directory

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http welance-directory https://welance.com/directory/mcp

Capabilities

Tools 20

brief_rules

The rule catalogue a brief is scored against before teams see it: ids, labels, weights and the acceptance threshold that decides whether a brief publishes.

Discovered
directory_capabilities

What the directory is, who it is for (small vetted software teams for digital projects, especially ones rooted in the physical world), how pricing works (0% of the project; €30 + VAT from each side only to meet, charged once both accept a time), and the rule that the human stays the principal.

Discovered
list_open_briefs

The public briefs: open ones looking for a team, ones in vetting, and the archive of delivered projects with budget, sector and delivery team. Anonymised server-side. Filter by status or to tangible-world projects only.

Discovered
match_brief

Match a draft brief (80–20000 characters) against the real, eligible anonymous teams: only teams the brief matches come back, with reasons and the defaults inferred from the brief. Same derivation and matcher as publishing, stores nothing, calls no LLM. Ends with a "Start this brief" link that opens the guided flow prefilled.

Discovered
preview_teams

Two anonymous, vetted teams as specimens (rotating daily) and the size of the supply — never the whole board. The board is brief-first: the teams that fit a project are listed only against a draft brief. Names and members are revealed only after a mutual €30-per-side handshake.

Discovered
propose_booking

As the client of a pitch on the person's own brief (appId): a proposed 30-minute call with at least 3 concrete slots (ISO 8601; weekdays, on the hour, 09–18 CET, 3–10 business days ahead) and an optional note. Confirming holds €30 from the client's side for up to 7 days; nothing is charged until both sides accept a time. A no-show's €30 is not returned; the side that showed gets a credit. Stores a proposal only. Nothing happens until the person confirms it on welance.com/directory; the result includes the review link.

Discovered
propose_booking_accept

As the team on a booking (bookingId): a proposal to accept one of the client's offered slots (slotId). Accepting charges €30 from each side; if the client does not show, the team's €30 becomes a credit; if the team does not show, its €30 is not returned. Stores a proposal only. Nothing happens until the person confirms it on welance.com/directory; the result includes the review link.

Discovered
propose_brief_draft

A proposed update to the person's local brief draft: title, markdown, and/or per-rule answers. Accepting it fills the brief editor; nothing is published. The whole proposal is limited to 64,000 UTF-8 bytes. Stores a proposal only. Nothing happens until the person confirms it on welance.com/directory; the result includes the review link.

Discovered
propose_brief_publish

A proposal to publish a brief (title, markdown, optional language) to the board. On confirmation the server's live score gate decides whether it publishes; publishing emails a one-time link and signs no one in. The whole proposal is limited to 64,000 UTF-8 bytes. Stores a proposal only. Nothing happens until the person confirms it on welance.com/directory; the result includes the review link.

Discovered
propose_pitch_draft

An anonymous pitch draft for one of the person's teams (teamKey) on an open brief (briefId). Accepting it fills the existing pitch editor; nothing is sent. Stores a proposal only. Nothing happens until the person confirms it on welance.com/directory; the result includes the review link.

Discovered
propose_pitch_send

A proposal to send an anonymous pitch for one of the person's teams (teamKey) on an open brief (briefId); once confirmed, the brief owner sees it. Each brief accepts a limited number of pitches (10). Stores a proposal only. Nothing happens until the person confirms it on welance.com/directory; the result includes the review link.

Discovered
propose_profile_update

Proposed field changes to one entity. entity "person": the signed-in person's own profile (job_role, years_experience, langs, skills, hourly_rate). entity "member" + teamKey + memberKey: a confirmed colleague on one of the person's teams (job_role, years_experience, langs, hourly_rate; skills are rated only by their owner). entity "team" + teamKey: intro, based, remote, availability, langs, shipped, hourly. entity "organisation" + organisationId: website, description of an organisation the person owns or administers (descriptive only; it verifies nothing). Skills: changes[{field:"skills", value:[{name, rating 1–10}]}] adds or re-rates (an existing name takes the new rating); removeSkills lists skill names to remove. Languages: addLangs / removeLangs take two-letter codes; alternatively a langs change carries the complete new list (not both). Scalars: changes[{field, value}]; hourly_rate is EUR/h, 10–2000; team hourly overrides the rate blended from members' rates, and null restores the blend; team size is not a field (it is the confirmed member count). Team shipped: value lists entries to add, each {title, url, desc}; existing entries are kept; removeShipped lists titles or links to remove. inferred=true marks a value derived from evidence rather than stated by the person; hourly rate, availability, languages and skill ratings are rejected when inferred. Each changed field becomes a separate card the person approves. Stores a proposal only. Nothing happens until the person confirms it on welance.com/directory; the result includes the review link.

Discovered
propose_team_invite

A proposal to invite a person to one of the signed-in person's teams (teamKey) by name and email, with an optional role. Once confirmed, the invitee receives an email; their skill ratings are theirs to set later. Stores a proposal only. Nothing happens until the person confirms it on welance.com/directory; the result includes the review link.

Discovered
read_booking

One booking by its id (bookingId): the proposed slots, its state, and which side the signed-in person is on.

Discovered
read_brief

One public brief in full, markdown body included, by its id (briefId).

Discovered
read_invoices

The signed-in person's past invoices with their PDF and document links (pdfUrl / documentUrl). Without filters it covers every billing identity of the person (personal VAT plus companies they own or administer); each invoice is tagged with its identity {kind, id, label, vatMasked}. identity ("all", "personal" or "org:<organisationId>") or identities (several of "personal" / "org:<organisationId>") narrow by identity; from/to (YYYY-MM-DD, inclusive) narrow by date; limit caps the count (1–50).

Discovered
read_my_pitches

The signed-in person's pitches and bookings on both sides: applications sent by their teams (with handshake and booking state) and the anonymous pitches received on their own briefs.

Discovered
read_my_teams

The signed-in person's teams: key (teamKey), name, and the facts the system derives rather than stores (members = confirmed people; rate = blended from members' rates unless the team sets an override; languages from members unless set); each team's profile (based, remote, availability, shipped work), open and matching brief counts, and a checklist of what pitching and the public board require, each marked met or missing.

Discovered
read_pitchable_briefs

For each of the signed-in person's teams, the open briefs that team can still pitch on: not yet pitched, pitch slots left, and a language match.

Discovered
read_profile

The signed-in person's own directory profile: job role, years of experience, languages, rated skills, hourly rate and verification state.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected281 ms20