
Adrian Capraru: profile and hiring
io.github.cadi27techPublished by GitHub account cadi27techv1.1.2Updated Oct 29, 2026
Ask about Adrian Capraru, Head of AI & Automation: case studies, services, availability, hiring.
Overview
Read-only MCP server that lets an assistant answer questions about Adrian Capraru's profile, case studies, services, availability and hiring routes.
- What you can do
- Read the profile: positioning, roles, key figures, location, languages, skills and links
- Browse and open case studies: list all seven, then fetch one in full by slug
- Review published services: fixed-price projects with tiers and delivery days, plus consultations
- Check availability status, its update date and time zone
- Get hiring routes: contact page, Upwork, LinkedIn, CV and what to put in a first message
- When to use it
- Useful when someone wants an assistant to answer questions about Adrian Capraru as a contractor or hire, such as what he has built, what his published offers cost, whether he is taking work, and how to get in touch.
- Requirements
- Runs locally over stdio; Node 20 or later, with the package installed from GitHub on first run via npx, or the MCPB bundle for Claude Desktop. No account, API key or network call at runtime.
Installation
In SourceWeft
- Open Adrian Capraru: profile and hiring in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
adrian-capraru-mcp
An agent-readable profile. A small Model Context Protocol server that lets Claude, ChatGPT, Cursor or any MCP client answer questions about Adrian Capraru, Head of AI & Automation, and hand a user the routes to hire him: who he is, what he has built and measured, what his published offers cost, whether he is taking work, and where to make contact.
Every answer comes from the data behind adriancapraru.com. A build script generates data/profile.json from the site's own content file, its JSON Resume and the published Upwork offers, so the server says what the site says and nothing else.
- Registry: official MCP Registry,
io.github.cadi27tech/adrian-capraru(registry entry), active since 27 Oct 2026 - Transport: stdio. Runs with
npx github:cadi27tech/adrian-capraru-mcp, or as the MCPB bundle attached to each release - Auth and network: none. No key, no account, no outbound call at runtime, nothing written
- Side effects: none.
how_to_hirereturns contact routes; it never sends a message or books a call
Tools
All six are read-only (readOnlyHint: true, openWorldHint: false).
Then ask, for example: "Has Adrian Capraru shipped anything with Xero in production, and what would a HubSpot to Xero build cost?"
Connect
Node 20 or later. The first run installs the package from GitHub.
Claude Code
Claude Desktop (claude_desktop_config.json)
Or download adrian-capraru-mcp-1.1.1.mcpb from the latest release and open it: Claude Desktop installs bundles in one click.
Cursor (~/.cursor/mcp.json, or .cursor/mcp.json in a project)
On Windows, if the client cannot find npx, use "command": "cmd" with "args": ["/c", "npx", "-y", "github:cadi27tech/adrian-capraru-mcp"].
Any client, from a clone: npm ci, then node examples/call.mjs <tool> '<json arguments>' starts the server over stdio, calls one tool and prints what the agent reads back.
Verification
[npm test: 10 of 10 pass; then a real get_case_study call over stdio returns the Xero prepayments case with its three results and its URL on the site]npm test starts the real server over stdio and calls every tool the way an MCP client does: exactly six tools and all read-only, the profile fields, all 7 case slugs, an unknown slug refused, 12 projects with three rising price tiers and 3 consultations, the availability file, the four contact routes, and two repository checks. CI runs it on Node 20 and 22 on every push, then calls how_to_hire from a clean install.
Design decisions
Generated, never typed. scripts/build-data.mjs imports the site's content.mjs, reads resume.json, lifts the "Open to" and "Where" copy from the contact page source and parses the published Upwork catalog and consultations. A wording change on the site reaches the server on the next build. If the contact page loses a section the script depends on, the build throws instead of shipping a gap.
Content rules that fail the build. scripts/rules.mjs lists what may never be published: partner names, superlatives, figures withheld on purpose, email addresses, first-person copy, hype words and any dash other than the ASCII hyphen. The build rewrites the few site sentences that carry such a fact, drops any list item still failing, then checks the whole output and refuses to write it if one rule still fails. The tests run the same rules over the data, the README and the changelog.
Availability is a file, not a calendar. availability.json holds a status, a sentence and a date, edited by hand and read on every call, so an edit applies without a restart. The server never claims a free slot it cannot see.
Contact stays human. The server hands back routes and a suggested brief. A person, or an agent acting for one, makes contact. Nothing here can send a message in Adrian's name or on a user's behalf.
Update the data
To change availability, edit availability.json (status, summary, updated) and push. Clients running through npx pick it up on the next install; the registry bundle changes only with a release.
A new release: bump version in package.json, manifest.json and server.json, run npx @anthropic-ai/mcpb pack, attach the .mcpb to a GitHub release, put its SHA-256 and URL in server.json, then run the publish to MCP Registry workflow. It checks the hash and signs in with GitHub OIDC, so no secret is stored.
Licence
MIT. Adrian Capraru, adriancapraru.com. The drawing is generated with blueprint-svg.
Source: README.md at commit 1362fdc
Tools
0Version history
1- v1.1.2LatestOct 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts